@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--blue:#073b82;--blue2:#0c58a8;--blue-dark:#052653;--blue-pale:#edf5ff;--gold:#c99a32;--gold-light:#f1d58b;--ink:#17243a;--muted:#66748a;--line:#dce5f0;--paper:#fff;--bg:#f5f8fc;--green:#157347;--red:#a83232}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}
a{color:inherit}
.site-header{padding:34px 20px 30px;text-align:center;color:#fff;background:linear-gradient(130deg,#052653,#073b82 55%,#1769b8);border-bottom:4px solid var(--gold)}
.brand{display:flex;align-items:center;justify-content:center;gap:15px}
.brand-mark{font-size:42px;color:var(--gold-light);text-shadow:0 2px 8px #0005}
.eyebrow{margin:0 0 5px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.18em}
.site-header .eyebrow{color:var(--gold-light)}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:2px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1.12}
h1 span{color:var(--gold-light)}
.tagline{margin:5px 0 0;color:#e7effb}
.intro{margin:22px auto 13px;max-width:650px;color:#e8f0fb}
.header-contact{display:inline-block;padding:8px 17px;border:1px solid #ffffff80;border-radius:30px;text-decoration:none;font-weight:700}
.main-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 12px #102b4a0b}
.main-nav a{padding:8px 12px;border-radius:22px;color:var(--blue);font-size:.88rem;font-weight:700;text-decoration:none}
.main-nav a:hover,.main-nav a:focus{background:var(--blue-pale);outline:none}
.container{width:min(1180px,calc(100% - 32px));margin:28px auto 55px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px #12345a0a}
.welcome{padding:28px 30px;margin-bottom:46px;text-align:center;background:linear-gradient(115deg,#fff,#f0f6ff)}
.welcome h2,.section-heading h2,.cart-heading h2{margin-bottom:7px;font-family:"Playfair Display",Georgia,serif;color:var(--blue-dark);font-size:clamp(1.65rem,3vw,2.2rem)}
.welcome p:last-child{margin:0;color:var(--muted)}
.catalog-section{margin:0 0 55px;scroll-margin-top:90px}
.section-heading{max-width:760px;margin:0 auto 22px;text-align:center}
.section-heading>p:last-child{margin-bottom:0;color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{display:flex;flex-direction:column;min-width:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px #16385b09;transition:transform .18s ease,box-shadow .18s ease}
.product-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #16385b13}
.product-card h3{margin:0 0 4px;color:var(--blue-dark);font-size:1.08rem;line-height:1.35}
.product-subtitle{margin:0 0 12px;color:var(--muted);font-size:.88rem}
.product-items{margin:0 0 18px;padding-left:19px;color:#435168;font-size:.9rem}
.product-items li{margin:3px 0}
.product-price{margin:auto 0 13px;color:var(--blue);font-size:1.35rem;font-weight:700}
.product-price small{font-size:.7rem;color:var(--muted);font-weight:600}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;border:0;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}
.button-add{width:100%;background:var(--blue);color:#fff}
.button-add:hover{background:var(--blue2)}
.button-gold{background:linear-gradient(110deg,#b78322,#e0bd62);color:#17243a}
.button-light{background:#eef3fa;color:var(--blue)}
.subheading{margin:27px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.subheading h3{margin:0;color:var(--blue);font-family:"Playfair Display",Georgia,serif;font-size:1.35rem}
.cart-section{padding:26px;margin-top:15px;scroll-margin-top:90px}
.cart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cart-heading h2{margin:0}
.count-badge{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:20px;background:var(--gold-light);font:700 .85rem "DM Sans",sans-serif}
.cart-list{margin:18px 0}
.empty-cart{padding:18px;text-align:center;color:var(--muted);background:#f7f9fc;border-radius:10px}
.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-product-name{font-weight:700;color:var(--blue-dark)}
.cart-product-price{color:var(--muted);font-size:.86rem}
.cart-controls{display:flex;align-items:center;gap:8px}
.qty-button,.remove-button{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:30px;height:30px;cursor:pointer;color:var(--blue);font-weight:700}
.qty-value{min-width:18px;text-align:center;font-weight:700}
.remove-button{padding:0 9px;color:var(--red);font-size:.78rem}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:2px solid var(--blue);font-size:1.1rem}
.cart-total-row strong{color:var(--blue);font-size:1.45rem}
.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 18px}
.customer-fields label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:700;color:var(--blue-dark)}
.customer-fields input,.customer-fields textarea{width:100%;padding:11px 12px;border:1px solid #cbd7e5;border-radius:8px;font:inherit;color:var(--ink);background:#fff}
.customer-fields input:focus,.customer-fields textarea:focus{outline:2px solid #9ec5f3;border-color:var(--blue2)}
.full-field{grid-column:1/-1}
.button-send{width:100%;min-height:50px;font-size:1rem}
.small-note{margin:12px 0 0;color:var(--muted);font-size:.8rem;text-align:center}
.site-footer{padding:28px 18px;text-align:center;color:#e8eff9;background:var(--blue-dark)}
.site-footer p{margin:5px 0}
.footer-brand{color:var(--gold-light);font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;font-weight:700}
.site-footer a{color:var(--gold-light)}
.social-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:.9rem}
.status-message{padding:14px;border:1px solid #edc5c5;border-radius:9px;color:var(--red);background:#fff7f7}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-header{padding:26px 14px}.brand{gap:8px}.brand-mark{font-size:32px}.main-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.main-nav a{flex:0 0 auto;font-size:.82rem}.container{width:min(100% - 22px,1180px);margin-top:18px}.welcome{padding:22px 17px;margin-bottom:35px}.product-grid{grid-template-columns:1fr;gap:13px}.product-card{padding:17px}.catalog-section{margin-bottom:42px}.cart-section{padding:18px}.cart-row{grid-template-columns:1fr auto;gap:8px}.cart-controls{grid-column:1/-1;justify-content:flex-end}.customer-fields{grid-template-columns:1fr}.full-field{grid-column:auto}.cart-heading{align-items:flex-start}.cart-heading .button{padding:8px 10px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
