/* Public catalog / details / contact / ads — extends shared style.css */
:root{--shop-ink:#102b3d;--shop-gold:#c58f56;--shop-muted:#627883;--shop-line:#dfe7e6}
body{background:#fbfaf7}
.public-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800;color:#455f6e}
.public-nav a:hover,.public-nav a[aria-current=page]{color:#b48653}
.site-actions{display:flex;align-items:center;gap:9px}
.counter{background:#c58f56;color:#102b3d;border-radius:22px;display:inline-grid;place-items:center;min-width:24px;height:24px;font-weight:900}
.mobile-menu{display:none;width:42px;height:42px;background:white;color:#102b3d;border:1px solid var(--shop-line);border-radius:7px;font-size:20px}
.subhero{padding:72px 0 83px;background:radial-gradient(circle at 85% 30%,#e5d8c3,transparent 39%),linear-gradient(130deg,#f2f4ee,#f6f3ec)}
.subhero .container{position:relative}
.subhero h1{font-size:clamp(38px,5vw,65px);line-height:1.4;letter-spacing:-2px;color:#102b3d;max-width:800px;margin:0 0 13px;font-weight:900}
.subhero h1 em{font-style:normal;color:#ad804b}
.subhero p{font-size:14px;line-height:2.2;color:#5e7581;max-width:710px}
.crumb{font-size:11px;color:#7c929a;margin-bottom:25px}
.crumb a{color:#a47f54}
.collection-section{padding:70px 0 95px;min-height:40vh}
.catalog-tools{display:flex;align-items:end;gap:13px;margin-bottom:20px;background:#fff;padding:17px;border:1px solid var(--shop-line);border-radius:11px}
.catalog-tools label{font-size:11px;font-weight:800;color:#4f6978;display:flex;flex-direction:column;gap:7px;min-width:160px}
.catalog-tools .search-input{flex:1}
.catalog-tools input,.catalog-tools select,.stack-form input,.stack-form textarea,.quote-shell input,.quote-shell textarea{width:100%;border:1px solid #d8e2e2;background:#fff;padding:11px 13px;border-radius:7px;color:#173c4e;font-size:12px;min-height:46px}
.catalog-tools input:focus,.catalog-tools select:focus,.stack-form input:focus,.stack-form textarea:focus,.quote-shell input:focus{outline:2px solid #c58f56;outline-offset:2px}
.muted{color:#7d9098;font-size:12px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.shop-card{background:#fff;border:1px solid var(--shop-line);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s,transform .25s}
.shop-card:hover{transform:translateY(-4px);box-shadow:0 17px 40px #102b3d18}
.shop-card-media{height:185px;display:grid;place-items:center;background:linear-gradient(140deg,#e8eeee,#f6f2e9);position:relative;overflow:hidden}
.shop-card-media img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s}
.shop-card:hover img{transform:scale(1.045)}
.shop-card-media .placeholder{font-size:78px;font-weight:900;color:#b1c3c6}
.shop-card-media small{position:absolute;bottom:11px;right:12px;background:#fffffff0;padding:4px 8px;font-size:9px;border-radius:4px;color:#67808e}
.shop-card-media .section-chip{position:absolute;right:11px;top:11px;padding:3px 9px;background:#fff;border-radius:15px;color:#a88155;font-size:10px;font-weight:900}
.shop-card-content{padding:15px;display:flex;flex-direction:column;flex:1}
.shop-card-content .brandline{color:#9b7b56;font-size:10px;font-weight:800}
.shop-card h3{font-size:14px;color:#113246;margin:5px 0 8px;font-weight:900;line-height:1.7}
.shop-card p{font-size:11px;color:#68808c;line-height:1.8;margin:0 0 15px}
.price-line{color:#164a61;font-weight:900;font-size:12px;margin-top:auto;margin-bottom:12px}
.price-line .old-price{color:#9da8ac;font-size:10px;text-decoration:line-through;margin-left:9px}
.price-line .muted-price{color:#74858a}
.shop-card-actions{display:flex;gap:8px;margin-top:auto}
.shop-card-actions .button{flex:1;min-height:42px;padding-inline:8px;font-size:11px;white-space:normal}
.shop-card-actions .details-link{border:1px solid #d6e0e1;border-radius:7px;padding:9px 11px;color:#3f6070;font-size:10px;font-weight:900}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:27px;flex-wrap:wrap}
.pagination button{border:1px solid #cddcdd;color:#245469;background:white;border-radius:6px;min-width:34px;height:35px}
.pagination button[aria-current=page]{background:#102b3d;color:white}
.category-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.directory-card{border:1px solid #dfe8e8;background:white;border-radius:14px;overflow:hidden;padding:28px 23px;transition:transform .25s}
.directory-card:hover{transform:translateY(-4px)}
.directory-icon{height:105px;display:grid;place-items:center;font-size:75px;color:#bb9365;background:#f6f2eb;border-radius:10px;margin-bottom:20px}
.directory-card h2{font-size:19px;margin:0 0 8px}
.directory-card p{font-size:12px;color:#72858e}
.directory-card a{display:inline-block;font-size:12px;color:#a77a48;font-weight:900}
.product-details{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;margin-bottom:80px}
.product-photo{border:1px solid #dbe5e6;min-height:390px;border-radius:13px;background:linear-gradient(145deg,#e8f0ed,#f8f7f2);display:grid;place-items:center;overflow:hidden}
.product-photo img{width:100%;max-height:450px;object-fit:contain}
.product-photo .placeholder{font-size:130px;color:#a4b9be}
.thumb-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.thumb-row button{width:64px;height:64px;border:1px solid #dce5e5;border-radius:8px;background:#fff;overflow:hidden}
.thumb-row button.active{outline:2px solid #bd8d57}
.thumb-row img{width:100%;height:100%;object-fit:contain}
.product-info h1{font-size:clamp(29px,3vw,46px);line-height:1.4;color:#102b3d}
.product-info .sku{font-size:11px;color:#7d929b}
.product-info .description{color:#5e7580;line-height:2.3;font-size:14px}
.product-info dl{background:#fff;border:1px solid #e1e8e7;border-radius:10px;padding:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.product-info dt{font-size:10px;color:#72858d}
.product-info dd{margin:0;color:#163749;font-size:12px;font-weight:900}
.product-info .quantity-label{font-weight:800;font-size:12px;display:block;margin:20px 0 7px}
.product-info input[type=number]{border:1px solid #d0dbdc;border-radius:7px;width:90px;padding:10px;font-size:13px}
.product-info .action-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:18px}
.product-info .notice{font-size:11px;color:#896e46;background:#f9f1e2;border-radius:7px;padding:11px;margin-top:18px}
.panel{border:1px solid #e0e7e7;background:#fff;border-radius:13px;padding:30px}
.stack-form{display:grid;gap:15px}
.stack-form label,.quote-shell label{display:flex;flex-direction:column;gap:7px;color:#254858;font-size:12px;font-weight:900}
.stack-form textarea{resize:vertical}
.form-feedback{font-size:12px;color:#2b7869;line-height:1.9;margin:5px 0}
.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:25px;align-items:start}
.contact-aside{display:flex;flex-direction:column;gap:16px}
.contact-aside h2{margin:0}
.contact-aside .info-row{padding:13px 0;border-bottom:1px solid #e7eeee}
.contact-aside .info-row strong{font-size:11px;display:block;color:#a27f56}
.contact-aside .info-row span{font-size:13px;color:#34576a}
.tracker{max-width:650px;margin:auto}
.track-result{margin-top:25px;font-size:13px}
.track-item{border-bottom:1px solid #e2e9e8;padding:9px 0}
.track-status{background:#e5f0ed;border-radius:25px;display:inline-block;padding:6px 12px;font-size:12px;color:#286b58;font-weight:900}
.about-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.about-layout h2{font-size:34px}
.about-layout p,.prose p{font-size:14px;line-height:2.5;color:#58707e}
.about-emblem{height:400px;background:linear-gradient(145deg,#173e50,#0d2838);color:#d8b78a;font-size:280px;display:grid;place-items:center;border-radius:14px}
.prose{max-width:900px}
.prose h2{font-size:22px}
.notfound{min-height:58vh}
.quote-dialog{padding:0;width:min(520px,calc(100vw - 26px));max-height:90vh;border:0;border-radius:13px;box-shadow:0 22px 70px #0004}
.quote-dialog::backdrop{background:#031924ac}
.quote-shell{padding:24px;max-height:88vh;overflow:auto}
.quote-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}
.quote-heading h2{font-size:24px;margin:0}
.quote-heading button{width:37px;height:37px;border:1px solid #d5dfe0;background:white;border-radius:50%;font-size:22px}
.quote-shell>p{font-size:11px;color:#667d87}
.quote-shell form{display:grid;gap:11px}
.quote-cart-line{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px 0;border-bottom:1px solid #e8eded;font-size:12px}
.quote-cart-line .qty{display:flex;align-items:center;gap:6px}
.quote-cart-line .qty input{min-height:33px;width:57px;padding:4px;text-align:center}
.quote-cart-line .qty button{border:1px solid #d1dddd;background:white;border-radius:5px;width:25px;height:25px}
.quote-cart-line .remove{background:transparent;border:0;color:#b06456;font-size:10px;grid-column:2}
.cart-total{padding:14px 0;font-size:12px;font-weight:900}
.floating-ads{pointer-events:none;position:fixed;inset:0;z-index:199}
.floating-ad{pointer-events:auto;position:absolute;max-width:min(325px,calc(100vw - 30px));border-radius:12px;background:#fff;color:#163a4b;box-shadow:0 16px 48px #00192334;border-top:4px solid #c58f56;padding:17px 18px;display:grid;grid-template-columns:1fr auto;gap:9px}
.floating-ad.pos-bottom_left{bottom:22px;left:22px}
.floating-ad.pos-bottom_right{bottom:22px;right:22px}
.floating-ad.pos-top{top:95px;left:50%;transform:translateX(-50%);max-width:400px}
.floating-ad.color-navy{background:#133b4d;color:#fff;border-color:#315f76}
.floating-ad.color-light{background:#e8f1ef;border-color:#68a59b}
.floating-ad h3{font-size:14px;margin:0 0 5px}
.floating-ad p{font-size:11px;margin:0;line-height:1.7}
.floating-ad a{font-size:11px;font-weight:900;color:#ab7d47;display:inline-block;margin-top:9px}
.floating-ad button{width:27px;height:27px;border:1px solid #a3b4b4;border-radius:50%;background:transparent;color:inherit;font-size:17px}
.floating-ad img{width:100%;max-height:90px;object-fit:contain;grid-column:1/-1}
.ui-toast{pointer-events:none;position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(15px);background:#102b3d;color:#fff;border-radius:7px;padding:10px 17px;z-index:500;box-shadow:0 10px 20px #0003;font-size:12px;opacity:0;transition:.2s}
.ui-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.home-products,.home-reviews{padding:75px 0}
.home-reviews{background:#f3f6f4}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{background:#fff;border:1px solid #dfe7e7;border-radius:12px;padding:23px;font-size:12px;line-height:2;color:#506876}
.review-card strong{display:block;color:#16404f;margin-top:10px}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}.category-directory{grid-template-columns:repeat(3,1fr)}.public-nav{gap:16px}}
@media(max-width:900px){.public-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e0e7e7;box-shadow:0 20px 30px #0001;display:none;flex-direction:column;align-items:stretch;padding:12px 25px;gap:0}.public-nav.open{display:flex}.public-nav a{padding:9px 0;border-bottom:1px solid #e5ebeb}.mobile-menu{display:block}.product-grid{grid-template-columns:repeat(2,1fr)}.category-directory{grid-template-columns:repeat(2,1fr)}.product-details,.about-layout,.contact-layout{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.site-actions .button{font-size:10px;min-height:42px;padding:8px}.subhero{padding:50px 0}.subhero h1{font-size:38px}.collection-section{padding:47px 0}.catalog-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalog-tools .search-input{grid-column:1/-1}.catalog-tools label{min-width:0}.product-grid,.category-directory{gap:11px}.shop-card-media{height:132px}.shop-card-media .placeholder{font-size:53px}.shop-card-content{padding:11px}.shop-card h3{font-size:12px}.shop-card p{font-size:10px}.shop-card-actions{flex-direction:column}.shop-card-actions .button{min-height:35px;font-size:10px}.shop-card-actions .details-link{text-align:center}.product-photo{min-height:250px}.product-info dl{grid-template-columns:1fr}.about-emblem{height:230px;font-size:170px}.panel{padding:19px}.review-grid{grid-template-columns:1fr}.floating-ad.pos-top{top:70px}.floating-ad.pos-bottom_left{bottom:16px;left:14px}.floating-ad.pos-bottom_right{bottom:16px;right:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Inquiry document exports — CSP compliant */
.quote-files{margin:18px 0;padding:16px;border:1px solid #d8e4df;border-radius:12px}
.quote-files h3{margin:0 0 8px}
.quote-files-help,#files-status{font-size:12px}
.quote-files-actions{display:flex;flex-wrap:wrap;gap:8px}
.quote-files-actions button{max-width:100%}
