/* Monnari storefront repairs. Brand, photography and native WooCommerce controls stay intact.
   Spacing and interaction polish informed by unslop, Damir Sokolovsky, CC BY 4.0. */
html { scroll-padding-top: calc(var(--monnari-header-height, 210px) + 24px); }
body .header-main { width:100%; max-width:1464px; min-height:104px; padding:12px 32px; margin:0 auto; gap:32px; }
body .header-main > .wordmark { flex:none; }
body .header-main .header-right { min-width:0; gap:8px; }
body .header-search-row { gap:24px; }
body .header-main .desktop-search .search-form { width:240px; height:40px; border:1px solid #e5e5e5; background:#fafafa; }
body .header-main .desktop-search .search-form:focus-within { border-color:#333; background:#fff; }
body .header-main .search-form input { width:100%; height:38px; padding:8px 12px; font:14px/22px 'Poppins',sans-serif; border-radius:0; }
body .header-main .search-form button { display:flex; align-items:center; justify-content:center; width:40px; height:38px; padding:10px; flex:none; }
body .header-main .search-form svg { width:18px; height:18px; }
body .header-main .header-tools { gap:16px; }
body .header-main .cart-link { margin:0 8px 0 0; }
body .header-main .account-link, body .header-main .login-link { min-height:32px; }
body .site-nav .nav-inner { max-width:1464px; padding:0 32px; gap:32px; }
body .site-nav .subnav.mega-menu { left:max(32px,calc((100% - 1400px)/2)); right:max(32px,calc((100% - 1400px)/2)); }
body .campaign-banner { padding:10px 48px; }
/* Search is editable at the centre of its results page, including the empty state. */
body .search-page { max-width:1464px; padding:56px 32px 72px; }
.search-heading { text-align:center; margin:0 0 48px; }
.search-heading h1 { font-size:30px; line-height:1.4; font-weight:500; margin:0 0 48px; }
.results-search-form { display:flex; gap:16px; max-width:600px; width:100%; margin:0 auto 36px; }
.results-search-form input[type=search] { min-width:0; flex:1; height:48px; padding:12px 16px; border:1px solid #d5d5d5; border-radius:0; background:#fff; font-size:14px; }
.results-search-form button { flex:none; min-width:140px; padding:12px 24px; background:#202020; color:#fff; border:1px solid #202020; font-size:14px; }
.search-heading p { margin:0; font-size:14px; color:#666; overflow-wrap:anywhere; }
.search-page .empty-search { text-align:center; padding:24px 0 64px; }
/* Product gallery uses the WooCommerce carousel and thumbnail navigation. */
body.single-product .page-main { width:100%; max-width:1464px; padding:40px 32px 0; }
.product-main-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:56px; align-items:start; }
.product-main-layout:before,.product-main-layout:after { display:none; }
body.woocommerce.single-product div.product .product-main-layout > div.images,
body.woocommerce.single-product div.product .product-main-layout > div.summary { float:none; width:100%; min-width:0; margin:0; padding:0; }
body.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { display:block!important; gap:0; overflow:visible; scroll-snap-type:none; }
body.woocommerce div.product div.images .woocommerce-product-gallery__image { min-width:0; scroll-snap-align:none; }
body.woocommerce div.product div.images .woocommerce-product-gallery__image img { display:block; width:100%; height:clamp(420px,43vw,660px); max-height:none!important; aspect-ratio:auto; object-fit:contain; background:#f7f7f7; }
body.woocommerce div.product div.images .flex-viewport { height:auto!important; }
body.woocommerce div.product div.images .flex-control-thumbs { display:flex; gap:12px; padding:16px 0 0; margin:0; overflow-x:auto; }
body.woocommerce div.product div.images .flex-control-thumbs li { flex:0 0 72px; width:72px; margin:0; }
body.woocommerce div.product div.images .flex-control-thumbs li img { width:72px; height:96px; object-fit:cover; border:1px solid transparent; padding:2px; opacity:.65; }
body.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border-color:#222; opacity:1; }
body.woocommerce div.product .summary .product_title { font-size:28px; line-height:1.4; font-weight:500; margin:0 0 20px; }
body.woocommerce div.product .summary > p.price { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; font-size:26px; margin:0 0 28px; }
body.woocommerce div.product .summary > p.price del { font-size:16px; color:#888; }
body.woocommerce div.product .summary .product-campaign { margin:0 0 24px; padding:12px 16px; min-height:48px; background:#f7f1f2; color:#852138; font-size:13px; gap:16px; }
body.woocommerce div.product .summary .product-campaign .campaign-unit { min-width:40px; background:#fff; color:#852138; padding:0 4px; border-radius:0; }
body.woocommerce div.product .summary .product-campaign .campaign-unit b { color:#852138; font-size:16px; }
body.woocommerce div.product .summary .product-campaign .campaign-unit:after { color:#852138; }
body.woocommerce div.product form.cart .variations label { font-size:13px; text-transform:none; color:#666; }
body.woocommerce div.product form.cart .variant-options { gap:8px; margin:8px 0 20px; flex-wrap:wrap; }
body .variant-options button { min-width:44px; min-height:40px; background:white; border:1px solid #ddd; padding:8px 12px; font-size:14px; }
body .variant-options button[aria-pressed=true] { background:#202020; color:#fff; border-color:#202020; outline:0; box-shadow:none; }
body .variant-options button:disabled { opacity:.35; cursor:not-allowed; }
body.woocommerce div.product form.cart .reset_variations { font-size:11px; color:#777; margin:0 0 12px; }
body.woocommerce div.product form.cart .quantity-label { margin:0 0 8px; text-transform:none; color:#666; font-size:13px; }
body.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
body.woocommerce div.product form.cart:not(.variations_form) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.woocommerce div.product form.cart .quantity { margin:0 0 12px; }
body.woocommerce div.product form.cart .single_add_to_cart_button,
body.woocommerce div.product form.cart .monnari-buy-now { min-height:48px; min-width:0!important; border-radius:0; font-size:14px; padding:12px 16px; line-height:22px; margin:0; }
body .monnari-product-details { width:100%; max-width:100%; padding-top:32px; margin:16px 0 48px; }
body .monnari-product-details details > div { max-width:900px; font-size:14px; color:#555; }
/* Compact promotion: the cart's products are always visible before gift suggestions. */
body .gift-offer-content { border-color:#e5e5e5; border-radius:0; margin:24px 0; }
body .gift-heading { padding:16px; gap:12px; border-bottom:0; }
body .gift-icon { color:#852138; background:none; border-radius:0; }
body .gift-heading strong { font-size:13px; }
.gift-toggle { display:block; border:0; background:none; color:#852138; padding:4px 0 0; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
body .gift-products { display:none; border-top:1px solid #eee; }
body .gift-offer-content.is-expanded .gift-products { display:flex; }
body .gift-offer-content.is-expanded .gift-more { display:grid; }
body .gift-product { border-radius:0; }
/* Cart panel and confirmation share a simple hierarchy and visible close buttons. */
body #cart-drawer .drawer-panel { width:min(440px,100%); }
body #cart-drawer .drawer-head { padding:16px 24px; }
body #cart-drawer .drawer-head h2 { font-size:20px; }
body #cart-drawer .cart-items { padding:0 24px; }
body #cart-drawer .cart-item { padding:24px 0; gap:16px; }
body #cart-drawer .cart-summary { padding:20px 24px 16px; }
body #cart-drawer .cart-discount { display:none; }
body #cart-drawer .cart-subtotal { font-size:13px; }
body #cart-drawer .cart-subtotal strong { font-size:16px; }
body #cart-drawer .cart-total { display:flex; align-items:baseline; justify-content:space-between; margin:12px 0 0; font-size:16px; }
body #cart-drawer .cart-total strong { font-size:20px; }
body #cart-drawer .cart-primary,body #cart-drawer .cart-secondary { font-size:14px; }
body .cart-added-dialog { width:520px; max-width:calc(100% - 32px); max-height:calc(100dvh - 48px); padding:0; margin:auto; border:0; border-radius:4px; overflow:auto; box-shadow:0 16px 64px #0002; }
body .cart-added-dialog::backdrop { background:rgba(0,0,0,.35); }
body .cart-added-head { display:flex; align-items:center; justify-content:space-between; height:auto; padding:20px 24px; border-bottom:1px solid #eee; gap:16px; }
.added-heading { display:flex; align-items:center; gap:12px; }
body .cart-added-head h2 { margin:0; font-size:20px; line-height:28px; font-weight:500; }
.added-check { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#edf3ed; color:#3b653d; font-size:16px; flex:none; }
body .cart-added-head .icon-button { position:static; width:36px; height:36px; padding:8px; flex:none; }
body .added-product { display:grid; grid-template-columns:104px minmax(0,1fr); gap:20px; padding:24px; }
body .added-product[hidden] { display:none; }
.added-product-image { width:104px; height:140px; object-fit:cover; background:#f5f5f5; }
.added-product-name { display:block; font-size:15px; line-height:23px; font-weight:500; margin:0 0 8px; }
.added-product-variant,.added-product-quantity { font-size:12px; line-height:20px; color:#666; margin:0 0 4px; }
.added-product-price { display:block; font-size:16px; margin-top:12px; font-weight:500; }
body .cart-added-content { padding:0 24px 20px; }
.added-cart-summary { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:20px 0; border-top:1px solid #eee; font-size:14px; }
.added-cart-summary small { color:#777; font-size:12px; }
.added-cart-summary strong { font-size:18px; font-weight:500; white-space:nowrap; }
.added-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body .added-view-cart,body .added-checkout { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px; border:1px solid #222; background:#fff; color:#222; font-size:13px; line-height:22px; text-decoration:none; text-align:center; }
body .added-checkout { background:#222; color:#fff; }
body .cart-added-content .cart-continue { margin-top:12px; padding:8px; font-size:12px; }
body .cart-added-dialog[open] { animation:monnari-confirm .18s ease-out; }
@keyframes monnari-confirm { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@media(min-width:761px) and (max-width:1100px) {
 body .header-main { padding:20px 24px; }
 body .site-nav .nav-inner { padding:0 24px; gap:24px; }
 body .site-nav .nav-item>a { font-size:12px; }
 .product-main-layout { gap:32px; }
 body.single-product .page-main { padding:32px 24px 0; }
 body.woocommerce div.product .summary .product_title { font-size:24px; }
 body.woocommerce div.product .summary .product-campaign { flex-wrap:wrap; gap:8px 16px; }
 body.woocommerce div.product div.images .woocommerce-product-gallery__image img { height:520px; }
}
@media(max-width:760px) {
 body .header-main { height:64px; min-height:64px; padding:12px 20px; gap:12px; }
 body .header-main > .wordmark { position:absolute; left:50%; transform:translateX(-50%); }
 body .header-main .header-tools { gap:12px; }
 body .header-main .cart-link { margin:0; }
 body .header-main .account-link { min-height:36px; }
 body .campaign-banner { padding:10px 32px; }
 body .search-page { padding:32px 20px 48px; }
 .search-heading { margin-bottom:32px; }
 .search-heading h1 { margin-bottom:24px; font-size:26px; }
 .results-search-form { gap:8px; margin-bottom:24px; }
 .results-search-form button { min-width:88px; padding:12px; font-size:12px; }
 .results-search-form input[type=search] { padding:12px; font-size:14px; }
 body.single-product .page-main { padding:0 20px; }
 .product-main-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 body.woocommerce div.product div.images .woocommerce-product-gallery__image img { height:clamp(360px,120vw,540px); }
 body.woocommerce div.product div.images .flex-control-thumbs { padding-top:12px; gap:8px; }
 body.woocommerce div.product div.images .flex-control-thumbs li { flex-basis:56px; width:56px; }
 body.woocommerce div.product div.images .flex-control-thumbs li img { width:56px; height:72px; }
 body.woocommerce div.product .summary .product_title { font-size:24px; line-height:34px; margin-bottom:16px; }
 body.woocommerce div.product .summary > p.price { font-size:24px; margin-bottom:24px; }
 body.woocommerce div.product .summary .product-campaign { flex-direction:row; flex-wrap:wrap; min-height:64px; margin:0 0 24px; gap:8px 16px; }
 body .monnari-product-details { margin:0 0 32px; padding-top:16px; }
 body .related.products { padding:0; }
 body .cart-added-head { padding:16px 20px; }
 body .cart-added-head h2 { font-size:18px; }
 body .added-product { padding:20px; grid-template-columns:88px minmax(0,1fr); gap:16px; }
 .added-product-image { width:88px; height:120px; }
 body .cart-added-content { padding:0 20px 16px; }
 .added-actions { gap:8px; }
 body .added-view-cart,body .added-checkout { font-size:12px; padding:10px 8px; }
}
@media(max-width:350px) {body .header-main{padding:12px 16px;gap:6px}body .header-main .header-tools{gap:8px}.added-heading{gap:8px}body .cart-added-head h2{font-size:16px}}
@media(prefers-reduced-motion:reduce) {body .cart-added-dialog[open]{animation:none}}

body.woocommerce div.product .summary .product-campaign .campaign-unit small {display:none}

body.woocommerce form.cart .quantity-controls {display:flex;align-items:center;border:1px solid #ddd;background:#fff;overflow:hidden}
body.woocommerce form.cart .quantity-controls input.qty {height:42px!important;max-width:40px;padding:0;margin:0;border:0;background:none}
body.woocommerce form.cart .quantity-controls button {height:42px;border:0;background:none;flex:1}
body.woocommerce form.cart .quantity-controls button:disabled {color:#bbb;cursor:default}
