/* Catalogue: one row, never more than three cards. */
.carousel-track{grid-template-columns:repeat(var(--visible-columns,3),minmax(0,1fr));align-items:start;gap:28px;min-height:440px}
.carousel-track>.model-card{animation:card-enter .45s ease both}
@keyframes card-enter{from{opacity:.35;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:30px;border-top:1px solid var(--line);padding-top:18px}
#carousel-position{font-size:10px;letter-spacing:.7px;color:var(--muted)}
.carousel-controls>div{display:flex;gap:9px}
.carousel-controls button{border:1px solid var(--line);color:var(--ink);background:transparent;width:40px;height:34px;font-size:19px;transition:background .3s,border-color .3s}
.carousel-controls button:hover:not(:disabled){background:#ded4c3;border-color:var(--gold)}
.carousel-controls button:disabled{opacity:.25;cursor:default}
.model-card{position:relative;padding:12px 12px 8px;margin:-12px -12px -8px;transition:box-shadow .4s,background .4s;isolation:isolate}
.model-card:hover,.model-card:focus-visible{background:#e2d8c8;box-shadow:0 12px 35px #30271b21,0 0 0 1px #b89a6230}
.model-card .model-visual:after{content:'';position:absolute;inset:0;background:#1c1916;opacity:0;z-index:2;pointer-events:none;transition:opacity .5s}
.model-card:hover .model-visual:after{opacity:.1}
.collection-card{border:0;color:var(--ink);font:inherit;cursor:pointer;width:calc(100% + 24px);background:transparent}
.collection-representative{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease}
.collection-card:hover .collection-representative{transform:scale(1.035)}
.collection-inspiration{font-size:12px;color:var(--muted);margin-top:11px}
.collection-explore{display:inline-block;font-size:9px;letter-spacing:1px;margin-top:18px;color:#987a45}
.collection-card:after{margin-top:18px}
/* A tighter product composition while preserving all specifications. */
.product-page{padding-top:100px}
.product-layout{max-width:1220px;margin:0 auto;padding:26px 35px 38px;grid-template-columns:1.1fr 1fr;gap:42px;align-items:start}
.product-gallery{grid-template-columns:58px 1fr;gap:16px}
.product-image-wrap{height:535px;background:transparent}
.product-image-wrap img{padding:8px 12px}
.product-thumbs{gap:12px}
.product-thumb img{width:47px;height:65px}
.breadcrumbs{margin-bottom:16px;font-size:10px}
.product-info .eyebrow{font-size:8px;letter-spacing:1.7px}
.product-info h1{font-size:42px;line-height:1.05;margin:10px 0 12px}
.product-info .model-price{font-size:21px;margin:0 0 7px}
.price-note{font-size:9px;margin-bottom:13px;line-height:1.6}
.catalog-collection-description{font-size:11px;line-height:1.6}
.variant-label{font-size:11px;margin-top:15px}
.variant-controls{gap:7px;margin-top:9px}
.variant-button{padding:8px 12px;font-size:10px}
.purchase-row{margin:17px 0 13px;gap:12px}
.purchase-row .button{padding:13px 18px;font-size:11px}
.qty-control button{padding:10px 12px}
.product-personalize{font-size:11px;padding-bottom:5px}
.product-description{font-size:22px;line-height:1.4;margin-top:21px}
.specs{margin-top:22px;padding-top:16px}
.specs h2{font-size:19px;margin-bottom:15px}
.specs dl{font-size:11px;line-height:1.5;gap:8px 15px;grid-template-columns:1.05fr 1fr}
.related{max-width:1220px;margin:0 auto;padding:30px 35px 70px}
.related h2{font-size:31px;margin:10px 0 28px}
.related .model-visual{height:255px}
/* Contact data stays in the current form; it is never stored in the cart. */
.contact-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.contact-fields .field:first-child{grid-column:1/-1}
.field input{display:block;width:100%;min-width:0;border:1px solid #c7baa4;background:transparent;padding:12px 13px;font:13px Arial;color:var(--ink);border-radius:0;margin-top:9px}
.contact-fields .field{margin-top:17px}
.selection-pair .field{margin-top:19px}
.email-helper{font-size:10px!important;line-height:1.7!important;margin-top:17px!important;color:var(--muted)}
.request-actions{gap:13px;margin-top:4px}
.request-actions .button{padding:14px 17px;gap:14px}
.email-inquiry{background:transparent!important;color:var(--ink)!important;border-color:#aa9877!important}
.email-inquiry:hover{background:#e5dac7!important}
@media(max-width:950px){.carousel-track{gap:23px;min-height:400px}.product-layout{padding:25px 5% 35px;gap:27px}.product-gallery{grid-template-columns:45px 1fr;gap:10px}.product-image-wrap{height:470px}.product-thumb img{width:37px;height:55px}.product-info h1{font-size:36px}.product-description{font-size:20px}.specs dl{font-size:10px;gap:8px 12px}.related{padding-left:5%;padding-right:5%}}
@media(max-width:650px){.carousel-track{grid-template-columns:repeat(var(--visible-columns,1),minmax(0,1fr));min-height:0;gap:0}.carousel-track .model-visual{height:330px}.carousel-track .model-cutout{padding:20px}.carousel-track .model-card{max-width:none}.carousel-controls{margin-top:25px}.collection-card h3{font-size:28px}.collection-inspiration{font-size:12px}.collection-explore{font-size:9px}.model-card:hover{box-shadow:none}.product-page{padding-top:84px}.product-layout{padding:12px 7% 30px;display:block}.product-gallery{display:grid;grid-template-columns:43px 1fr;gap:10px}.product-thumbs{flex-direction:column;order:0;max-height:345px;overflow-x:hidden;overflow-y:auto;gap:8px}.product-thumb{padding:3px}.product-thumb img{width:34px;height:48px}.product-image-wrap{height:345px}.product-image-wrap img{padding:3px 8px}.product-info{margin-top:21px}.product-info h1{font-size:37px;margin:9px 0 11px}.product-info .model-price{font-size:20px}.product-description{font-size:21px;margin-top:21px}.specs dl{font-size:11px;gap:9px 15px}.purchase-row{margin-top:18px}.related{padding:25px 7% 55px}.related h2{font-size:29px}.related .model-visual{height:220px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-fields .field:first-child{grid-column:auto}.field input{font-size:16px}.selection-pair{grid-template-columns:1fr}.request-actions{gap:13px}.request-actions .button{font-size:10px;padding:14px}.email-helper{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.carousel-track>.model-card{animation:none}.model-card,.collection-representative{transition:none}}
