:root { --db-green:#173F3A; --db-dark:#0D2926; --db-cream:#FFF7EE; --db-pink:#FF3D6E; --db-lime:#D6F08A; --db-lilac:#CDB9F4; --db-blue:#A9D7E8; --db-header-offset:0px; }
.db-product-page { background:var(--db-cream); color:var(--db-dark); padding:calc(clamp(22px,3vw,48px) + var(--db-header-offset)) 24px clamp(22px,3vw,48px); }
.db-product-page *, .db-product-page *::before, .db-product-page *::after { box-sizing:border-box; }
.db-product-page .woocommerce-notices-wrapper { max-width:1300px; margin:0 auto 20px; }
.db-product-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:clamp(34px,4vw,68px); max-width:1220px; margin:auto; padding:clamp(8px,1.5vw,20px) 0; }
.db-product-hero__ornament { position:absolute; z-index:-1; border-radius:999px; pointer-events:none; }
.db-product-hero__ornament--lime { width:250px; height:250px; background:var(--db-lime); top:-52px; left:-80px; opacity:.72; }
.db-product-hero__ornament--pink { width:136px; height:136px; background:var(--db-pink); right:-38px; bottom:20px; }
.db-product-gallery__main { position:relative; height:clamp(390px,calc(62vh - var(--db-header-offset)),620px); background:var(--db-lilac); border-radius:42% 42% 32px 32px; overflow:hidden; display:grid; place-items:center; box-shadow:8px 9px 0 var(--db-green); }
.db-product-gallery__breadcrumbs { margin:0 0 12px 3px; }
.db-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; align-items:center; color:var(--db-green); font:700 10px/1.35 "Space Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.db-breadcrumbs a { color:inherit; text-decoration:none; }
.db-breadcrumbs a:hover { color:var(--db-pink); }
.db-breadcrumbs__divider { opacity:.65; }
.db-product-gallery__image { width:100%; height:100%; object-fit:cover; display:block; }
.db-product-gallery__placeholder { color:var(--db-green); font:700 14px/1.2 Manrope,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.db-product-gallery__thumbs { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.db-product-gallery__thumb { width:56px; height:56px; padding:0; background:var(--db-cream); border:2px solid transparent; border-radius:14px; cursor:pointer; overflow:hidden; }
.db-product-gallery__thumb.is-active, .db-product-gallery__thumb:hover { border-color:var(--db-pink); }
.db-product-gallery__thumb img { width:100%; height:100%; object-fit:cover; }
.db-product-info { align-self:center; }
.db-kicker { margin:0 0 10px; color:var(--db-green); font:700 11px/1.2 "Space Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.db-product-info__title { max-width:620px; margin:0; color:var(--db-green); font:600 clamp(40px,4.8vw,64px)/.93 Fraunces,Georgia,serif; letter-spacing:-.055em; }
.db-product-info__summary { max-width:500px; margin:20px 0 0; color:#315450; font:400 15px/1.52 Manrope,Arial,sans-serif; }
.db-product-info__summary p:last-child { margin-bottom:0; }
.db-product-info__price { margin:21px 0 23px; color:var(--db-dark); font:700 21px/1.2 Manrope,Arial,sans-serif; }
.db-product-info__price del { opacity:.55; font-weight:400; }
.db-product-purchase form.cart { margin:0; }
.db-product-page table.variations, .db-product-page table.variations tbody, .db-product-page table.variations tr, .db-product-page table.variations th, .db-product-page table.variations td { width:auto !important; margin:0 !important; padding:0 !important; border:0 !important; border-collapse:collapse !important; border-spacing:0 !important; box-shadow:none !important; background:transparent !important; }
.db-product-page table.variations { width:100% !important; margin:0 0 22px !important; }
.db-product-page table.variations tr { display:block !important; margin:0 0 16px !important; }
.db-product-page table.variations th, .db-product-page table.variations td { display:block !important; text-align:left !important; }
.db-product-purchase .variations label { display:block; margin:0 0 10px; color:var(--db-green); font:700 11px/1.2 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.db-product-purchase .variations select { width:100%; min-height:50px; padding:0 44px 0 15px; border:2px solid var(--db-green); border-radius:13px; color:var(--db-dark); background:var(--db-cream); font:600 15px Manrope,Arial,sans-serif; }
.db-product-purchase .variations select.db-native-variation-select { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.db-product-purchase .reset_variations { display:inline-block; margin:11px 0 0; color:var(--db-green); font:700 11px Manrope,Arial,sans-serif; }
.db-product-page .db-variation-choices { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin-top:9px !important; }
.db-product-page button.db-variation-choice { display:inline-flex !important; width:auto !important; min-width:0 !important; min-height:0 !important; align-items:center !important; justify-content:center !important; margin:0 !important; padding:9px 13px !important; border:2px solid var(--db-green) !important; border-radius:999px !important; box-shadow:none !important; outline:0 !important; background:transparent !important; background-image:none !important; color:var(--db-green) !important; cursor:pointer !important; font:700 12px/1 Manrope,Arial,sans-serif !important; letter-spacing:0 !important; text-align:center !important; text-decoration:none !important; text-shadow:none !important; text-transform:none !important; transition:.18s ease !important; }
.db-product-page button.db-variation-choice:hover, .db-product-page button.db-variation-choice.is-selected { border-color:var(--db-green) !important; background:var(--db-green) !important; color:var(--db-cream) !important; }
.db-product-page button.db-variation-choice:disabled { cursor:not-allowed !important; border-color:#9aa8a6 !important; background:transparent !important; color:#9aa8a6 !important; opacity:.65 !important; text-decoration:line-through !important; }
.db-product-purchase .single_variation_wrap { margin-top:25px; }
.db-product-purchase .woocommerce-variation-description { margin:0 0 12px; color:#315450; font:14px/1.5 Manrope,Arial,sans-serif; }
.db-product-purchase .woocommerce-variation-price { display:none; }
.db-product-purchase .woocommerce-variation-availability { margin:0 0 15px; font:600 14px Manrope,Arial,sans-serif; }
.db-product-purchase .woocommerce-variation-add-to-cart, .db-simple-cart { display:flex; align-items:stretch; gap:10px; }
.db-quantity .quantity { display:flex; height:54px; border:2px solid var(--db-green); border-radius:14px; overflow:hidden; background:var(--db-cream); }
.db-quantity input.qty { width:72px; border:0; background:transparent; color:var(--db-dark); font:700 16px Manrope,Arial,sans-serif; text-align:center; }
.db-add-to-cart, .db-product-purchase .single_add_to_cart_button { min-height:54px; flex:1; padding:14px 22px; border:2px solid var(--db-pink); border-radius:14px; background:var(--db-pink); color:#fff; cursor:pointer; font:800 12px/1 Manrope,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; transition:transform .18s ease,background .18s ease,color .18s ease; }
.db-add-to-cart:hover, .db-product-purchase .single_add_to_cart_button:hover { transform:translateY(-2px); background:var(--db-lime); border-color:var(--db-green); color:var(--db-dark); }
.db-product-purchase .single_add_to_cart_button.disabled { cursor:not-allowed; opacity:.55; transform:none; }
.db-product-purchase .stock.out-of-stock { color:var(--db-pink); font:700 14px Manrope,Arial,sans-serif; }
.db-catalog-page { background:var(--db-cream); color:var(--db-dark); }
.db-catalog-hero { position:relative; overflow:hidden; padding:clamp(94px,11vw,150px) 24px clamp(50px,7vw,96px); background:var(--db-blue); }
.db-catalog-hero__inner, .db-catalog-grid-wrap { position:relative; max-width:1220px; margin:0 auto; }
.db-catalog-hero .db-breadcrumbs { margin-bottom:30px; }
.db-catalog-page .db-catalog-hero__title { max-width:860px !important; margin:10px 0 0 !important; color:var(--db-green) !important; font-family:Fraunces,Georgia,serif !important; font-size:clamp(44px,5vw,74px) !important; font-weight:600 !important; line-height:.92 !important; letter-spacing:-.06em !important; }
.db-catalog-page .db-catalog-hero__description { max-width:540px !important; margin-top:20px !important; color:#315450 !important; font-family:Manrope,Arial,sans-serif !important; font-size:15px !important; font-weight:400 !important; line-height:1.55 !important; }
.db-catalog-hero__description p:last-child { margin-bottom:0; }
.db-catalog-hero__orb { position:absolute; border-radius:50%; pointer-events:none; }
.db-catalog-hero__orb--lime { width:300px; height:300px; right:-70px; top:-100px; background:var(--db-lime); }
.db-catalog-hero__orb--lilac { width:140px; height:140px; left:10%; bottom:-72px; background:var(--db-lilac); }
.db-catalog-grid-wrap { padding:clamp(44px,6vw,80px) 24px; }
.db-catalog-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(28px,5vw,70px); align-items:start; }
.db-catalog-categories { position:sticky; top:104px; display:flex; flex-direction:column; gap:3px; padding:17px 0; border-top:2px solid var(--db-green); border-bottom:2px solid var(--db-green); }
.db-catalog-categories__label { margin:0 0 9px; color:var(--db-green); font:700 10px/1.2 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.db-catalog-categories__link { display:block; padding:8px 0; color:var(--db-dark); font:600 14px/1.3 Manrope,Arial,sans-serif; text-decoration:none; }
.db-catalog-categories__link:hover, .db-catalog-categories__link.is-current { color:var(--db-pink); }
.db-catalog-mobile-nav { display:none; }
.db-catalog-mobile-nav label { display:block; margin:0 0 8px; color:var(--db-green); font:700 10px/1.2 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.db-catalog-mobile-nav select { width:100%; min-height:48px; padding:0 13px; border:2px solid var(--db-green); border-radius:12px; background:var(--db-cream); color:var(--db-dark); font:600 14px Manrope,Arial,sans-serif; }
.db-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2.5vw,36px); }
.db-product-card { --db-card-layer:var(--db-pink); min-width:0; }
.db-product-card__image-stack { position:relative; aspect-ratio:.82; }
.db-product-card__layer { position:absolute; z-index:0; top:8px; right:0; bottom:0; left:8px; border-radius:40% 40% 18px 18px; background:var(--db-card-layer); }
.db-product-card:nth-child(3n+2) { --db-card-layer:var(--db-lime); }
.db-product-card:nth-child(3n+3) { --db-card-layer:var(--db-green); }
.db-product-card__image { position:absolute; z-index:1; top:0; right:8px; bottom:8px; left:0; display:block; overflow:hidden; border:3px solid var(--db-card-layer); border-radius:40% 40% 18px 18px; background:var(--db-lilac); }
.db-product-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.db-product-card__image:hover img { transform:scale(1.035); }
.db-product-card__body { padding:14px 3px 0; }
.db-product-card__kicker { margin:0 0 6px; color:var(--db-green); font:700 9px/1.3 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.db-product-card__title { margin:0 !important; color:var(--db-green) !important; font-family:Fraunces,Georgia,serif !important; font-size:clamp(19px,1.6vw,24px) !important; font-weight:600 !important; line-height:1 !important; letter-spacing:-.035em !important; }
.db-product-card__title a { color:inherit; text-decoration:none; }
.db-product-card__price { margin:10px 0 14px; font:700 14px/1.2 Manrope,Arial,sans-serif; }
.db-product-card__price del { opacity:.55; font-weight:400; }
.db-product-card__action a { display:inline-flex !important; width:auto !important; min-height:0 !important; margin:0 !important; padding:9px 12px !important; border:2px solid var(--db-green) !important; border-radius:999px !important; background:transparent !important; color:var(--db-green) !important; box-shadow:none !important; font:800 10px/1 Manrope,Arial,sans-serif !important; letter-spacing:.07em !important; text-decoration:none !important; text-transform:uppercase !important; }
.db-product-card__action a:hover { background:var(--db-green) !important; color:var(--db-cream) !important; }
.db-catalog-page .navigation.pagination { margin-top:50px; font:700 12px Manrope,Arial,sans-serif; }
.db-catalog-page .nav-links { display:flex; gap:8px; }
.db-catalog-page .page-numbers { display:grid; min-width:36px; min-height:36px; place-items:center; border:2px solid var(--db-green); border-radius:50%; color:var(--db-green); text-decoration:none; }
.db-catalog-page .page-numbers.current { background:var(--db-green); color:var(--db-cream); }
.db-catalog-empty { padding:50px 0; font:500 18px Manrope,Arial,sans-serif; }
@media (min-width:781px) { .db-product-page { margin-top:70px; } .db-product-gallery { position:sticky; top:90px; align-self:start; } }
@media (max-width:900px) { .db-catalog-layout { grid-template-columns:165px minmax(0,1fr); gap:26px; } .db-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:780px) { .db-product-page { padding:20px 18px 48px; } .db-product-hero { grid-template-columns:1fr; gap:42px; } .db-product-gallery__main { height:auto; aspect-ratio:1/1.08; border-radius:34% 34% 24px 24px; box-shadow:7px 8px 0 var(--db-green); } .db-product-info__title { font-size:clamp(45px,15vw,70px); } .db-product-hero__ornament--pink { width:90px; height:90px; right:-18px; bottom:35%; } .db-catalog-hero { padding:92px 18px 52px; } .db-catalog-grid-wrap { padding:42px 18px; } .db-catalog-layout { display:block; } .db-catalog-categories { display:none; } .db-catalog-mobile-nav { display:block; margin:0 0 28px; } .db-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 16px; } .db-catalog-page .db-catalog-hero__title { font-size:clamp(43px,13vw,64px) !important; } }
@media (max-width:420px) { .db-product-purchase .woocommerce-variation-add-to-cart, .db-simple-cart { flex-wrap:wrap; } .db-quantity { width:100%; } .db-quantity .quantity { width:100%; justify-content:center; } .db-add-to-cart, .db-product-purchase .single_add_to_cart_button { width:100%; flex-basis:100%; } }
