/* Logo proportions and artwork presentation; palette is supplied by professional-palette.css. */
.site-header .header-inner{min-height:90px;padding-top:10px;padding-bottom:10px}
.site-header .brand{gap:0;line-height:1;display:flex;align-items:center;justify-content:center}
.site-header .brand-lockup{display:block;height:70px;width:auto;max-width:none;object-fit:contain;flex:none}
.carousel-visual figcaption{position:static;inset:auto;display:block;width:100%;max-width:none;margin:9px 0 0;padding:0;background:transparent !important;border:0;border-radius:0;box-shadow:none;color:var(--f3d-muted,var(--muted)) !important;text-align:center;font-size:11px;line-height:1.5}
.home-product-categories .card-image{aspect-ratio:4/3;background:var(--f3d-card,var(--white))}
.home-product-categories .card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1200px) and (min-width:1101px){
 .site-header .brand-lockup{height:64px}
 .site-header .header-inner{min-height:84px}
}
@media(max-width:1100px){
 .site-header .header-inner{min-height:84px;grid-template-columns:40px minmax(0,1fr) 40px;padding-top:10px;padding-bottom:10px}
 .site-header .brand-lockup{height:64px;width:auto;max-width:none}
}
@media(max-width:650px){
 .site-header .brand-lockup{width:min(200px,calc(100vw - 140px));height:auto;max-width:none}
 .site-header .header-inner{min-height:76px;padding-top:8px;padding-bottom:8px}
 .carousel-visual figcaption{font-size:10px;line-height:1.55;margin-top:9px}
}

/* Catalog cards match their original portrait artwork without letterboxing. */
.collection-products .card-image{aspect-ratio:4/5}
.collection-products .card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* English file-picker labels while preserving the native accessible file input. */
.upload-file-control{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;width:100%;padding:4px;border:1px solid var(--f3d-control-line,var(--line));border-radius:12px;background:var(--f3d-card,var(--white))}
.upload-file-action{flex:none;padding:8px 12px;border-radius:8px;background:var(--f3d-soft);color:var(--f3d-brand);font-size:13px;font-weight:600;line-height:1.5}
.upload-file-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--f3d-muted);font-size:12px;padding-right:8px}
.upload-zone .upload-file-control input[type=file]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1}
.upload-file-control:focus-within{outline:2px solid var(--f3d-brand);outline-offset:3px}
.upload-file-control:has(input:disabled){opacity:.65}
@media(max-width:650px){.upload-file-control{gap:8px}.upload-file-action{font-size:12px;padding:8px 10px}.upload-file-name{font-size:11px}}

/* All carousel pictures match the first picture at 3:2, with centered controls below. */
.home-carousel .carousel-track{min-height:0}
.home-carousel .carousel-slide{position:relative;inset:auto;display:none;visibility:visible;opacity:1}
.home-carousel .carousel-slide.is-active{display:block}
.home-carousel .carousel-inner{max-width:1480px;width:calc(100% - 72px);min-height:0;padding-block:24px 26px}
.home-carousel .carousel-visual img{display:block;max-height:none;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.home-carousel .carousel-visual .carousel-controls{position:static;display:flex;justify-content:center;grid-template-columns:none;gap:0;width:100%;max-width:none;min-height:32px;margin:12px 0 0;padding:0}
.home-carousel .carousel-dots{justify-self:auto;grid-column:auto}
@media(max-width:650px){.home-carousel .carousel-inner{width:calc(100% - 36px);padding-block:26px 22px}.home-carousel .carousel-visual .carousel-controls{margin-top:6px}}

/* Precisely replace the source comparison labels; preserve the reference models. */
.repair-comparison .comparison-labels{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;background:transparent;pointer-events:none;color:#fff}
.repair-comparison .comparison-labels span{position:absolute;display:grid;place-items:center;text-align:center;white-space:normal;background:#000;color:#fff;font-size:clamp(6px,1vw,11px);line-height:1.05;padding:1px 3px;top:2.1%;height:6.8%;width:14.4%}
.repair-comparison.standard .comparison-labels span:first-child{left:3.1%}
.repair-comparison.standard .comparison-labels span:last-child{left:56.1%}
.repair-comparison.fine .comparison-labels{height:100%}
.repair-comparison.fine .comparison-labels span{top:1.9%;height:6.7%;width:14.5%}
.repair-comparison.fine .comparison-labels span:first-child{left:2.9%}
.repair-comparison.fine .comparison-labels span:last-child{left:56.1%}
.source-figure{padding:12px;border:1px solid var(--f3d-line,var(--line));border-radius:16px;background:var(--f3d-card,var(--white))}
.source-figure figcaption{padding:10px 4px 2px;color:var(--f3d-muted,var(--muted));font-size:12px;line-height:1.6}

/* Gift occasion pictures remain unobstructed; readable titles sit below. */
.occasion-grid .occasion-card{display:flex;flex-direction:column;align-self:stretch;height:auto;aspect-ratio:auto;padding:0;background:var(--f3d-card,#fffefa) !important;border:1px solid var(--f3d-line,#d8e2dc);border-radius:20px;overflow:hidden;text-decoration:none}
.occasion-grid .occasion-card::after{content:none;display:none !important;background:none !important}
.occasion-grid .occasion-card>img{display:block;position:static;inset:auto;flex:none;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none !important;filter:none;opacity:1;border-radius:0}
.occasion-card .occasion-copy{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;min-height:78px;padding:18px;background:var(--f3d-card,#fffefa)}
:root .occasion-card .occasion-copy .occasion-title{display:block;position:static;inset:auto;z-index:auto;min-width:0;color:var(--f3d-brand,#17484b) !important;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
:root .occasion-card .occasion-copy .occasion-arrow{display:block;position:static;inset:auto;z-index:auto;flex:none;color:var(--f3d-brand,#17484b) !important;font-size:19px;line-height:1}
.occasion-grid .occasion-card:hover{border-color:var(--f3d-orange,#ef9a73)}
.occasion-grid .occasion-card:focus-visible{outline:3px solid var(--f3d-brand,#17484b);outline-offset:4px}
@media(max-width:650px){.occasion-grid{grid-template-columns:minmax(0,1fr)}.occasion-grid .occasion-card{aspect-ratio:auto}.occasion-card .occasion-copy{min-height:64px;padding:16px 18px}:root .occasion-card .occasion-copy .occasion-title{font-size:19px}}

/* Full-width gift-card copy keeps inherited narrow span rules out of the footer. */
.occasion-grid .occasion-card{align-items:stretch;justify-content:flex-start}
.occasion-grid .occasion-card .occasion-copy{align-self:stretch;width:100%;max-width:none}
:root .occasion-grid .occasion-card .occasion-copy .occasion-title{max-width:none;flex:1;text-align:left}


/* Balanced space on either side of the centered desktop logo. */
@media (min-width:1101px) {
 .site-header .header-inner {
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  column-gap:clamp(28px,3.3vw,52px);
 }
}
