@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--bg:#fbf7f1;--paper:#fffdf9;--ink:#39271c;--muted:#7e695b;--line:#e9dacc;--accent:#86502f;--accent2:#b9855b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.announcement{background:#4e3323;color:#f7e8d5;text-align:center;padding:9px 15px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px clamp(20px,6vw,90px);background:rgba(251,247,241,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{font-family:'Playfair Display',Georgia,serif;font-size:29px;letter-spacing:.045em;white-space:nowrap}.wordmark small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.31em;text-align:center;margin-top:2px}nav{display:flex;gap:33px;font-size:13px}nav a:hover{color:var(--accent2)}.tools{display:flex;align-items:center;gap:12px}.tools button,.filters button,.close,.cart-top button{border:0;background:none;color:var(--ink)}.language{border:1px solid var(--line)!important;border-radius:50px!important;padding:8px 12px!important;font-weight:700}.cartbtn{font-size:24px;white-space:nowrap}.cartbtn span{font-size:13px}.hero{min-height:510px;display:grid;grid-template-columns:45% 55%;background:#f1e4d4}.hero-copy{padding:clamp(50px,7vw,105px) 7vw;align-self:center}.eyebrow{font-size:11px;letter-spacing:.23em;color:var(--accent);font-weight:700}.hero h1,.intro h2,.about h2,.contact h2{font:500 clamp(38px,5vw,70px)/1.12 'Playfair Display',Georgia,serif;margin:18px 0 20px}.hero p,.intro>p,.about p,.contact p{line-height:1.85;color:var(--muted);max-width:470px;font-size:15px}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:1px solid var(--accent);padding:15px 24px;margin-top:22px;font-weight:600;font-size:13px;letter-spacing:.025em;transition:.2s}.primary:hover{background:#60361e}.hero-image{background:url('assets/brand.webp') center/cover no-repeat;min-height:420px}.intro{padding:80px clamp(20px,6vw,90px) 100px;text-align:center}.intro h2{font-size:clamp(32px,4vw,49px);margin:14px auto}.intro>p{margin:0 auto 32px}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:30px 0 38px}.filters button{border:1px solid var(--line);border-radius:25px;padding:10px 18px;font-size:12px}.filters button.active,.filters button:hover{background:var(--ink);color:white}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;text-align:left}.product-card{background:var(--paper);border:1px solid #eee4d9;overflow:hidden}.product-photo{width:100%;height:330px;object-fit:cover;background:#e8d8c9;display:block}.product-content{padding:22px}.category{font-size:10px;letter-spacing:.15em;color:var(--accent);text-transform:uppercase}.product-content h3{font:500 24px 'Playfair Display',Georgia,serif;margin:9px 0}.product-content p{font-size:13px;line-height:1.65;color:var(--muted);min-height:42px}.product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}.product-bottom strong{font-size:16px}.outline{border:1px solid var(--accent);background:transparent;color:var(--accent);padding:11px 14px;font-size:12px}.outline:hover{background:var(--accent);color:white}.about{padding:75px clamp(25px,10vw,150px);background:#eaddcb;display:flex;justify-content:space-between;align-items:center;gap:20px}.about h2{font-size:46px}.about-accent{font:170px 'Playfair Display',serif;color:#ad8569;line-height:1}.about-accent span{font-size:45px}.contact{text-align:center;padding:90px 20px 110px}.contact h2{font-size:43px}.contact p{margin:auto}footer{padding:25px 6vw;background:#3e291d;color:#ead8c7;display:flex;justify-content:space-between;gap:15px;font-size:11px}.product-dialog{width:min(900px,94vw);max-height:90vh;border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #29150950}.product-dialog::backdrop{background:#2e201b99}.close{position:absolute;right:14px;top:10px;font-size:32px;z-index:2}.detail-grid{display:grid;grid-template-columns:45% 55%}.detail-grid img{width:100%;height:100%;max-height:750px;object-fit:cover}.detail-info{padding:45px 35px;overflow:auto;max-height:90vh}.detail-info h2{font:38px 'Playfair Display',serif;margin:10px 0}.detail-info p{color:var(--muted);font-size:13px;line-height:1.75}.detail-info label,.cart-bottom label{display:block;font-weight:700;font-size:12px;margin:16px 0 7px}.detail-info select,.detail-info input[type=text],.cart-bottom textarea{width:100%;border:1px solid var(--line);padding:11px;background:white;color:var(--ink)}.size-options{display:flex;gap:8px}.size-options button{padding:11px 14px;border:1px solid var(--line);background:#fff}.size-options button.active{background:var(--ink);color:white}.check{display:flex;align-items:center;gap:8px;margin:18px 0;font-size:13px}.check input{accent-color:var(--accent)}.warning{font-size:12px;color:#8c4c29!important;background:#f8eee3;padding:12px}.detail-price{font:24px 'Playfair Display',serif}.full{width:100%;margin-top:12px}.shade{position:fixed;inset:0;background:#1c120c80;z-index:30}.cart{position:fixed;right:0;top:0;bottom:0;width:min(430px,100%);background:var(--paper);z-index:31;transform:translateX(110%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-15px 0 60px #1d120c20}.cart.open{transform:translateX(0)}.cart-top{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.cart-top h2{font:26px 'Playfair Display',serif;margin:0}.cart-top button{font-size:30px}#cartItems{overflow:auto;flex:1;padding:15px 24px}.cart-item{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.cart-item img{width:75px;height:85px;object-fit:cover}.cart-item h3{font-size:13px;margin:0 0 8px}.cart-item p{font-size:11px;color:var(--muted);margin:3px 0}.cart-item button{border:0;background:none;text-decoration:underline;font-size:11px;color:var(--accent);padding:6px 0}.cart-bottom{border-top:1px solid var(--line);padding:20px 24px 24px}.total{display:flex;justify-content:space-between;font-size:16px}.fine{font-size:11px;color:var(--muted);line-height:1.5}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#3e291d;color:white;padding:12px 22px;z-index:100;display:none;font-size:13px}@media(max-width:850px){nav{gap:13px}.hero{grid-template-columns:1fr}.hero-image{min-height:340px;order:-1}.hero-copy{padding:55px 8vw}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo{height:300px}.detail-grid{grid-template-columns:1fr 1fr}.detail-info{padding:35px 22px}}@media(max-width:600px){header{padding:13px 16px;flex-wrap:wrap}.wordmark{font-size:24px}nav{order:3;width:100%;justify-content:center;font-size:12px;padding-top:7px}.hero-image{min-height:270px}.hero h1{font-size:45px}.intro{padding:60px 16px}.products{grid-template-columns:1fr 1fr;gap:12px}.product-photo{height:190px}.product-content{padding:13px}.product-content h3{font-size:18px}.product-content p{font-size:11px;min-height:55px}.product-bottom{display:block}.product-bottom strong{display:block;margin-bottom:10px}.outline{width:100%;padding:10px 5px}.about-accent{display:none}.about{padding:60px 25px}.about h2{font-size:36px}footer{display:block;line-height:2}.detail-grid{display:block}.detail-grid img{height:260px}.detail-info{max-height:none;padding:20px}.product-dialog{max-height:92vh;overflow:auto}.detail-info h2{font-size:29px}}
/* Multiple photographs per product */
.product-gallery{min-width:0}.product-gallery #galleryMain{display:block;width:100%;max-height:510px;object-fit:contain;border-radius:12px;background:#f4e9dc}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px}.gallery-thumb{flex:0 0 76px;width:76px;height:76px;padding:3px;border:2px solid transparent;border-radius:9px;background:#f4e9dc;cursor:pointer}.gallery-thumb.selected{border-color:#95633f}.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}

/* Selecteerbare multikleurcombinaties */
.multi-choice{margin:14px 0 16px}.multi-title{font-weight:600;font-size:14px;margin-bottom:11px}.multi-swatches{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.multi-swatch{width:43px;height:43px;min-width:43px;border-radius:50%;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #d9c9b7;cursor:pointer;transition:transform .15s,box-shadow .15s}.multi-swatch:hover{transform:scale(1.09)}.multi-swatch.chosen,.multi-swatch:focus-visible{box-shadow:0 0 0 3px #81542e,0 0 0 5px #f4e7d5;outline:none}.multi-hint{font-size:12px;color:#766758;margin-top:10px}

.gloss-swatch{box-shadow:inset 0 0 0 1px #b9b0a6}.gloss-swatch.chosen{outline:3px solid #8b5e3c;outline-offset:3px}

.matte-swatch{background:var(--swatch);border:1px solid #c6c2bc}

/* Respect hidden attribute when switching between product photos and videos. */
.product-gallery #galleryMain[hidden], .product-gallery #galleryVideo[hidden] { display: none !important; }

/* Graveer creaties / Créations gravées */
.engraving-section{padding:75px 6%;background:#f4e7d5;color:#3c3029;scroll-margin-top:85px}.engraving-inner{max-width:1050px;margin:auto}.engraving-inner h2{font-size:clamp(2rem,4vw,3.2rem);margin:12px 0 18px}.engraving-inner>p{max-width:720px;line-height:1.7}.engraving-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}.engraving-tile{padding:25px;background:rgba(255,255,255,.58);border:1px solid rgba(115,79,48,.17);border-radius:14px}.engraving-tile h3{margin:8px 0}.engraving-tile p{line-height:1.6}.engraving-icon{font-size:30px;color:#91613c}.engraving-note{font-size:13px;opacity:.8;margin-top:20px}@media(max-width:650px){.engraving-tiles{grid-template-columns:1fr}.engraving-section{padding:55px 5%}}

/* Geboortebordjes */
.birth-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;background:#fffaf3;border:1px solid #dfcdb9;border-radius:18px;padding:24px;margin:30px 0;align-items:start}.birth-gallery{display:grid;gap:12px}.birth-gallery img{width:100%;height:auto;border-radius:12px;display:block}.birth-info h3{font-size:clamp(1.5rem,2.8vw,2.2rem);margin:10px 0}.birth-info p{line-height:1.65}.birth-price{font-size:1.25rem;font-weight:700;color:#785032}.birth-info label{display:block;font-weight:600;margin:16px 0 7px}.birth-info select,.birth-info textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbb9a7;border-radius:9px;background:white;font:inherit}.birth-info button{margin-top:18px;cursor:pointer}.birth-gallery a{display:block}.birth-gallery a img{border:1px solid #e1d5c8}@media(max-width:700px){.birth-product{grid-template-columns:1fr;padding:15px}}

/* ORVÉ’O logo instead of the large decorative O in About */
.about-logo{flex:0 1 360px;display:flex;align-items:center;justify-content:center;min-width:0}
.about-logo img{display:block;width:min(100%,340px);height:auto;max-height:340px;object-fit:contain}
@media(max-width:650px){.about-logo{display:none}}

/* Zelf toegevoegde graveerartikelen */
.engraving-products{margin:26px auto 30px;max-width:1160px;text-align:left}.engraving-product-card .product-photo{height:250px;object-fit:cover}.engraving-inquiry{display:inline-block;text-decoration:none;text-align:center;cursor:pointer}.engraving-products:empty{display:none}

/* Separate engraving page and clear shop category navigation */
.engraving-link-home { text-align:center; padding:20px 20px 65px; }
.engraving-page .engraving-section { display:block; min-height:65vh; }
.engraving-page .engraving-inner { padding-top:75px; }

/* Gerealiseerde graveerprojecten */
.realized-projects{margin:65px 0 45px;padding-top:36px;border-top:1px solid #d8c3ae}.realized-projects h2{margin:10px 0 15px}.realized-projects>p{max-width:740px;line-height:1.7}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:25px 0}.project-card{background:#fffaf4;border:1px solid #e1d0bf;border-radius:14px;overflow:hidden}.project-media{display:flex;gap:8px;padding:10px;overflow-x:auto;scroll-snap-type:x mandatory}.project-media img{display:block;width:100%;max-height:330px;min-width:100%;object-fit:contain;background:#eee1d3;border-radius:8px;scroll-snap-align:start}.project-media:empty{display:none}.project-info{padding:18px 22px}.project-info h3{margin:0 0 12px;font-size:23px}.project-info p{line-height:1.7;white-space:pre-line}.projects-empty[hidden]{display:none}@media(max-width:700px){.projects-grid{grid-template-columns:1fr}}

/* Brand emblem in header, replacing text wordmark */
header .brand-logo-link{display:flex;align-items:center;flex:0 0 auto;line-height:1;min-width:0}
header .brand-logo-link img{display:block;width:126px;height:94px;object-fit:contain}
@media(max-width:850px){header .brand-logo-link img{width:100px;height:76px}}
@media(max-width:600px){header .brand-logo-link img{width:84px;height:64px}}

/* Shipping totals in the cart */
.cart-grand-total{border-top:1px solid rgba(130,97,70,.3);padding-top:13px;margin-top:8px;font-size:1.12em;}
.cart-grand-total strong{font-weight:800;}
#shippingNote{line-height:1.55;}

/* Producteigenschappen in de productdetailweergave */
.product-properties{margin:20px 0 22px;padding:18px 20px;border:1px solid #e3d5c5;border-radius:14px;background:#faf5ee}
.product-properties h3{margin:0 0 12px;font-size:1.08rem;letter-spacing:.02em;color:#65482f}
.product-properties ul{margin:0;padding-left:20px;display:grid;gap:8px}
.product-properties li{line-height:1.5;color:#51483e}
.product-properties li::marker{color:#ae8458}

/* Producteigenschappen onder de foto’s, in de linker kolom */
.product-gallery > .product-properties { margin-top: 22px; width: 100%; box-sizing: border-box; }

/* Fullscreen product image viewer */
#galleryMain:not([hidden]){cursor:zoom-in}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(19,16,13,.94);display:flex;align-items:center;justify-content:center;padding:65px 20px 54px;box-sizing:border-box}
.photo-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 45px rgba(0,0,0,.25)}
.photo-lightbox-close{position:absolute;top:12px;right:18px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.25);color:#fff;border-radius:50%;width:44px;height:44px;font-size:30px;line-height:1;cursor:pointer;z-index:1}
.photo-lightbox p{position:absolute;bottom:12px;left:10px;right:10px;text-align:center;color:#f2e9df;font-size:13px;margin:0}
body.photo-zoom-open{overflow:hidden}

/* Zoom opens as a native modal above the product dialog (top layer). */
dialog.photo-lightbox{margin:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;overflow:hidden!important;color:white!important;}
dialog.photo-lightbox::backdrop{background:rgba(19,16,13,.94)}
dialog.photo-lightbox:not([open]){display:none!important}

/* Homepagina: volledige vazen beter zichtbaar in de productkaarten */
#products .product-photo, .products .product-card .product-photo {
  object-fit: contain;
  object-position: center;
  padding: 22px;
  background: #f4e9dc;
}
@media (max-width: 600px) {
  #products .product-photo, .products .product-card .product-photo { padding: 12px; }
}
