/* WordPress / WooCommerce additions. The prototype design lives untouched in hemora.css. */
a.product-image,.category,.social-tile{display:block}
.social-tile{position:relative;overflow:hidden}
.product-info h3 a{font:inherit}
.product-info>span .woocommerce-Price-amount{color:inherit}
.product-info>span del{opacity:.5;margin-right:6px}.product-info>span ins{text-decoration:none}
.desktop-nav a{text-transform:uppercase}
.mobile-menu>a.mobile-account{font-family:var(--sans);font-size:12px;border:0;padding:27px 0;display:block}
.social-links a{width:36px;height:36px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;border:1px solid #c8a96b35;border-radius:50%;color:var(--gold)}
.social-links a:hover{background:#c8a96b20}
.footer-column a{font-size:11px;padding:0;color:#bdb1a2}
a.icon-button{color:inherit}
.count[hidden]{display:none}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.form-note[role=status]{min-height:1.6em}

/* Inner pages (page.php, blog, WooCommerce) */
.page-wrap{padding:150px var(--gutter) 90px;min-height:70vh}
.page-title,.page-wrap h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.5vw,64px);line-height:1.06;letter-spacing:-1.5px;margin-bottom:34px}
.page-title a{color:inherit}
.entry,.page-wrap .woocommerce{font-size:14px;line-height:1.85;color:#4f463c;max-width:1100px}
.entry p{margin-bottom:18px}
.entry h2,.entry h3,.page-wrap h2,.page-wrap h3{font-family:var(--serif);font-weight:400;color:var(--ink)}
.entry a,.page-wrap .woocommerce a:not(.button):not(.wp-element-button){color:#8c7044;text-decoration:underline;text-underline-offset:4px}
.page-wrap--shop{max-width:none}
.page-wrap--shop .woocommerce-products-header__title{margin-bottom:24px}
.woocommerce-breadcrumb{font-size:10px;letter-spacing:1.2px;color:var(--muted);margin-bottom:24px;text-transform:uppercase}
.woocommerce-result-count,.woocommerce-ordering{font-size:11px;color:var(--muted);margin-bottom:28px}
.woocommerce-ordering select,.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number],.woocommerce textarea,.woocommerce select{background:none;border:1px solid var(--line);border-radius:0;padding:13px 14px;font-size:13px;color:var(--ink);max-width:100%}
.woocommerce form .form-row{margin-bottom:16px}
.woocommerce form .form-row label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;display:block;margin-bottom:6px}
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:36px 25px}
ul.products li.product{margin:0;position:relative}
ul.products li.product a.woocommerce-LoopProduct-link{display:block}
ul.products li.product img{aspect-ratio:.82;object-fit:cover;width:100%;height:auto;background:var(--sand);margin-bottom:14px}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.15;padding:0}
ul.products li.product .price{display:block;font-size:11px;margin-top:8px;color:#62584c}
ul.products li.product .price del{opacity:.5}ul.products li.product .price ins{text-decoration:none}
ul.products li.product .onsale,span.onsale{position:absolute;top:15px;left:15px;z-index:2;background:var(--ivory);font-size:8px;letter-spacing:1.3px;padding:8px 10px;text-transform:uppercase}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-block-button__link,.woocommerce .button.alt{background:var(--gold);color:var(--ink);border:0;border-radius:0;min-height:46px;padding:14px 24px;font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;transition:background .3s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:#dec38d;color:var(--ink)}
ul.products li.product .button{margin-top:12px}
.woocommerce div.product div.images{width:48%}.woocommerce div.product div.summary{width:46%}
.woocommerce div.product .product_title{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.08;letter-spacing:-1px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:20px}
.woocommerce div.product form.cart .quantity .qty{width:70px;padding:13px 8px}
.woocommerce-tabs ul.tabs{list-style:none;padding:0;display:flex;gap:28px;border-bottom:1px solid var(--line);margin:40px 0 24px}
.woocommerce-tabs ul.tabs li a{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none!important;color:var(--muted)!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);padding:16px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:2px solid var(--gold);background:#efe9df;padding:16px 20px;margin-bottom:24px;list-style:none;font-size:13px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;margin-top:40px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line);padding:10px 15px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gold);color:var(--ink)}
@media(max-width:1100px){ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.page-wrap{padding:110px 24px 64px}ul.products{grid-template-columns:repeat(2,1fr);gap:28px 16px}ul.products li.product .woocommerce-loop-product__title{font-size:19px}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}}

/* ---- Header dropdowns (Collections / Category) ---- */
.desktop-nav .nav-item{position:relative;display:flex;align-items:center}
.desktop-nav .nav-parent{display:inline-flex;align-items:center;gap:6px}
.caret{font-style:normal;font-size:9px;line-height:1;transition:transform .25s}
.nav-item.open .caret,.m-group.open .caret{transform:rotate(180deg)}
.desktop-nav .submenu{position:absolute;top:100%;left:-22px;min-width:240px;padding:12px 0;background:#171311f7;border:1px solid #c8a96b30;backdrop-filter:blur(15px);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s;z-index:40}
.desktop-nav .submenu a{display:block;padding:11px 24px;font-size:10px;white-space:nowrap;color:var(--ivory)}
.desktop-nav .submenu a:after{display:none}
.desktop-nav .submenu a:hover,.desktop-nav .submenu a[aria-current]{color:var(--gold);background:#ffffff08}
.nav-item.open>.submenu,.nav-item:has(:focus-visible)>.submenu{opacity:1;visibility:visible;transform:none}
@media(hover:hover){.nav-item:hover>.submenu{opacity:1;visibility:visible;transform:none}.nav-item:hover .caret{transform:rotate(180deg)}}
.mobile-menu .m-group{border-bottom:1px solid #c8a96b30}
.mobile-menu .m-parent{width:100%;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:38px;padding:18px 0;text-align:left;color:var(--ivory)}
.mobile-menu .m-parent .caret{font-family:var(--sans);font-size:12px;color:var(--gold)}
.mobile-menu .m-sub{display:none;flex-direction:column;padding:0 0 14px 4px}
.mobile-menu .m-group.open .m-sub{display:flex}
.mobile-menu .m-sub a{font-family:var(--serif);font-size:24px;padding:11px 0;color:#d9cdb8;border:0}

/* ---- Shop grid fixes: override WooCommerce's float layout (must stay last) ---- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 25px;clear:both;margin:0 0 40px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce ul.products[class*=columns-] li.product{float:none!important;width:auto!important;margin:0!important;padding:0;clear:none!important;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;width:100%}
.woocommerce ul.products li.product a img,.woocommerce-page ul.products li.product a img{width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover;margin:0 0 16px!important;display:block;background:var(--sand);transition:transform .8s}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif)!important;font-weight:400;font-size:21px!important;line-height:1.2!important;letter-spacing:0!important;padding:0!important;margin:0 0 6px;color:var(--ink)}
.woocommerce ul.products li.product .price{display:block;color:#62584c!important;font-size:12px!important;margin:0 0 14px}
.woocommerce ul.products li.product .price .woocommerce-Price-amount{color:inherit}
.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button,.woocommerce ul.products li.product .button,.woocommerce .single_add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center;gap:0!important;width:auto;white-space:nowrap;line-height:1.2;min-height:44px;padding:13px 22px;margin-top:auto}
.woocommerce ul.products li.product .added_to_cart{font-size:10px;letter-spacing:1px;margin-left:12px;align-self:center;text-transform:uppercase}
.woocommerce .woocommerce-result-count{float:left;margin:0 0 28px}
.woocommerce .woocommerce-ordering{float:right;margin:0 0 28px}
.woocommerce .woocommerce-ordering select{padding:12px 36px 12px 14px;font-size:12px}
.woocommerce div.product div.images img{width:100%;height:auto}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;margin:24px 0}
.woocommerce div.product form.cart .quantity{margin:0}
@media(max-width:1100px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px!important}.woocommerce ul.products li.product .button{width:100%}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none}}

.site-header .logo{width:180px;height:64px}
.hemora-arrow{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-header .logo img{width:100%;height:100%;object-fit:contain}
.footer-logo{width:230px;height:63px;margin:0 0 20px}
.footer-bottom .footer-credit{margin-left:auto;text-align:right}
@media(max-width:560px){.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom .footer-credit{margin-left:0;text-align:left}}
@media(max-width:760px){.site-header .logo{width:148px;height:54px}}
@media(max-width:760px){.footer-logo{width:200px;height:55px;margin:0 0 20px}}

/* ---- Single product page (must stay last) ----
 * Layout: photo (max 420px) | details, then Description/Reviews right underneath, then Related products.
 * The photo keeps its natural proportions. Hover zoom is done by hemora.js (WooCommerce's own click-zoom icon is hidden on desktop).
 */
.woocommerce div.product,.woocommerce-page div.product{display:grid!important;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:0 64px;align-items:start;position:relative;height:auto;min-height:0}
.woocommerce div.product>*{grid-column:1/-1;float:none!important;width:auto!important;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0}
.woocommerce div.product>div.images,.woocommerce-page div.product>div.images{grid-column:1;width:100%!important;max-width:420px;margin:0 0 24px!important;align-self:start}
.woocommerce div.product>div.summary,.woocommerce-page div.product>div.summary{grid-column:2;width:100%!important;margin:0 0 24px!important;padding-top:4px}
.woocommerce div.product>span.onsale{position:absolute;width:auto!important;grid-column:auto}

/* Photo / gallery */
.woocommerce div.product .woocommerce-product-gallery{opacity:1!important;margin:0;position:relative}
.woocommerce div.product .woocommerce-product-gallery__image{overflow:hidden;background:var(--sand);cursor:zoom-in}
.woocommerce div.product .woocommerce-product-gallery__image a{display:block}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;display:block;object-fit:contain;transform-origin:50% 50%;transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform}
/* Single-photo products: WooCommerce's slider is not active, so keep the wrapper simple and never let it lock an old height. */
.woocommerce div.product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{height:auto!important;min-height:0!important;transform:none!important;width:100%!important;margin:0}
.woocommerce div.product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image{width:100%!important;float:none!important;margin:0}
.woocommerce div.product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:not(:first-child){display:none}
/* Several photos: WooCommerce's slider runs; just lay the thumbnails out neatly. */
.woocommerce div.product .flex-control-thumbs{display:flex;flex-wrap:nowrap;gap:clamp(4px,1.5vw,10px);width:100%;max-width:100%;box-sizing:border-box;margin:12px 0 0;padding:0;list-style:none}
.woocommerce div.product .flex-control-thumbs::before,.woocommerce div.product .flex-control-thumbs::after{display:none!important}
.woocommerce div.product .flex-control-thumbs li{flex:1 1 0;min-width:0;width:auto!important;float:none!important;margin:0}
.woocommerce div.product .flex-control-thumbs img{display:block;width:100%!important;height:auto;opacity:.55;cursor:pointer;transition:opacity .25s;aspect-ratio:4/5;object-fit:cover}
.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}
@media(hover:hover) and (pointer:fine){.woocommerce div.product .woocommerce-product-gallery__trigger{display:none!important}}

/* Details column */
.woocommerce div.product .summary{min-width:0}
.woocommerce div.product .product_title{font-size:clamp(26px,2.5vw,34px)!important;line-height:1.2!important;letter-spacing:-.4px!important;margin:0 0 12px!important;overflow-wrap:break-word}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:20px!important;margin:0 0 18px!important;color:var(--ink)!important}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:13px!important;line-height:1.85;color:#4f463c;margin:0 0 26px!important}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:24px 0 0;padding:0}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:54px;margin:0}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .quantity .qty{width:72px;height:46px;text-align:center}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,.woocommerce div.product form.cart .single_add_to_cart_button{background:var(--gold)!important;color:var(--ink)!important;border:0!important;border-radius:0!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:#dec38d!important;color:var(--ink)!important}
.woocommerce div.product .product_meta{font-size:11px;line-height:1.6;letter-spacing:.4px;color:var(--muted);margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.woocommerce div.product .product_meta>span{display:block;margin-bottom:6px}

/* Description | Reviews: directly under the product row. (The big gap was hemora.css's dialog '.panel' rule, 100dvh tall, also hitting WooCommerce's tab panels; it is now scoped to dialog.panel.) */
.woocommerce div.product .woocommerce-tabs{margin:8px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin:0 0 22px;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs .panel{margin:0;padding:0;max-width:760px;height:auto;width:auto}
.woocommerce div.product .woocommerce-Tabs-panel--description>h2:first-child{display:none}
.woocommerce div.product .woocommerce-tabs .panel>h2{font-size:26px;letter-spacing:0;margin:0 0 14px}

/* Related products: one normal gap, no fixed heights */
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{margin:48px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.woocommerce div.product .related.products>h2,.woocommerce div.product .upsells.products>h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-1px;margin:0 0 28px}
.woocommerce div.product .related.products ul.products,.woocommerce div.product .upsells.products ul.products{margin-bottom:0}

/* Tablet and phone: single column */
@media(max-width:900px){
.woocommerce div.product,.woocommerce-page div.product{grid-template-columns:1fr;gap:0}
.woocommerce div.product>div.images,.woocommerce-page div.product>div.images{grid-column:1;max-width:440px;margin:0 auto 24px!important}
.woocommerce div.product>div.summary,.woocommerce-page div.product>div.summary{grid-column:1}
}
@media(max-width:560px){.woocommerce div.product>div.images,.woocommerce-page div.product>div.images{max-width:100%}}

/* Tabs now live inside the details column (see functions.php, priority 45) */
.woocommerce div.product .summary .woocommerce-tabs{margin:28px 0 0;padding:0;width:100%!important;float:none!important}
.woocommerce div.product .summary .woocommerce-tabs .panel{max-width:none}
.woocommerce div.product .summary .woocommerce-tabs ul.tabs{margin:0 0 20px}

/* ---- Description / Reviews typography ---- */
.hemora-product-information{margin-top:24px;border-top:1px solid var(--line)}
.woocommerce div.product .hemora-product-information+.product_meta{border-top:0;margin-top:18px;padding-top:0}
.hemora-product-disclosure{border-bottom:1px solid var(--line)}
.hemora-product-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:14px 0;list-style:none;cursor:pointer;font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:var(--ink)}
.hemora-product-disclosure summary::-webkit-details-marker{display:none}
.hemora-product-disclosure summary::after{content:'+';font-size:20px;font-weight:400;line-height:1;flex:none;color:var(--muted)}
.hemora-product-disclosure[open] summary::after{content:'−'}
.hemora-product-disclosure summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hemora-product-disclosure-content{padding:0 0 18px;font-size:13px;line-height:1.8;color:#4f463c}
.hemora-product-disclosure-content p{margin:0 0 8px}
.hemora-product-disclosure-content a{display:inline-block;padding:4px 0;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.woocommerce div.product .woocommerce-tabs .panel{font-size:13px;line-height:1.85;color:#4f463c}
.woocommerce div.product .woocommerce-tabs .panel p{font-size:13px;line-height:1.85;color:#4f463c;margin:0 0 14px}
.woocommerce div.product .woocommerce-tabs .panel p.hemora-photography-note{font-size:12px;line-height:1.7;color:var(--muted);margin:18px 0 0}
.woocommerce #reviews h2,.woocommerce #reviews .woocommerce-Reviews-title{font-family:var(--serif);font-weight:400;font-size:26px!important;line-height:1.15;letter-spacing:0!important;color:var(--ink);margin:0 0 14px}
.woocommerce #reviews #comments,.woocommerce #reviews #review_form_wrapper{float:none;width:100%}
.woocommerce #reviews .woocommerce-noreviews{font-size:13px;color:var(--muted);margin:0 0 26px}
.woocommerce #reviews #review_form_wrapper{border-top:1px solid var(--line);padding-top:24px}
.woocommerce #reviews #reply-title,.woocommerce #reviews .comment-reply-title{display:block;font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--ink);margin:0 0 18px}
.woocommerce #reviews .comment-notes,.woocommerce #reviews .comment-form-rating,.woocommerce #reviews .comment-form-comment,.woocommerce #reviews .comment-form-author,.woocommerce #reviews .comment-form-email,.woocommerce #reviews .form-submit{margin:0 0 18px}
.woocommerce #reviews .comment-form label{display:block;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.woocommerce #reviews .comment-form .required{color:#8c7044}
.woocommerce #reviews p.stars{margin:0;line-height:1}
.woocommerce #reviews p.stars a{color:var(--gold);font-size:18px;letter-spacing:4px;text-decoration:none}
.woocommerce #reviews textarea#comment{width:100%;height:120px;font-family:var(--sans);font-size:13px;line-height:1.7;padding:13px 14px}
.woocommerce #reviews .form-submit input#submit{margin:0}
.woocommerce #reviews ol.commentlist{list-style:none;margin:0 0 24px;padding:0}
.woocommerce #reviews ol.commentlist li{margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--line)}
.woocommerce #reviews ol.commentlist li .comment-text{border:0;margin:0;padding:0}
.woocommerce #reviews ol.commentlist li img.avatar{display:none}
.woocommerce #reviews ol.commentlist li .comment-text{margin-left:0!important}
.woocommerce #reviews .woocommerce-review__author{font-family:var(--serif);font-size:18px;color:var(--ink)}
.woocommerce #reviews .woocommerce-review__published-date,.woocommerce #reviews .woocommerce-review__dash{font-size:11px;color:var(--muted)}

/* WooCommerce adds the class "featured" to starred products; make sure it never changes the shop grid */
.woocommerce ul.products li.product.featured{grid-column:auto!important;grid-row:auto!important}
