/* Keep body from becoming the sticky scroll container when a dialog locks the root. */
body.catalog-product-view {overflow-x:clip;}

/* Product columns and sticky behavior share the desktop breakpoint. */
.hh-pdp-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:calc(var(--spacing) * 5);
}
.hh-pdp-media, .hh-pdp-info {
    width:100%;
    max-width:100%;
    min-width:0;
    margin-inline:auto;
}
.hh-pdp-media {position:static;}
.hh-pdp-title, .hh-options {min-width:0;overflow-wrap:anywhere;}
.hh-pdp .hh-options .options-list:has(input[type="radio"]) {flex-wrap:wrap;}
.hh-pdp .hh-options .options-list:has(input[type="radio"]) .field.choice {min-width:min(6.5rem,100%);}
@media (min-width:1200px) {
    .hh-pdp-layout {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
    .hh-pdp-media, .hh-pdp-info {max-width:none;}
}
/* Keep the full image square while the panels use the complete stacked row. */
@media (max-width:1199px) {
    .hh-gallery .hh-gallery-frame {max-height:none;}
}
/* The stage anchors desktop overlays; mobile controls have their own row. */
.hh-gallery-stage {position:relative;min-width:0;}
/* Match the white canvas of contained product photos in every theme. */
.hh-gallery .hh-gallery-frame {background-color:#fff;}
.hh-gallery-controls {display:contents;}
@media (min-width:640px) {
    .hh-gallery-prev, .hh-gallery-next {top:50%;bottom:auto;transform:translateY(-50%);}
    .hh-gallery-prev, .hh-gallery-next, .hh-gallery-fullscreen {background:var(--color-soft);color:var(--color-fg-secondary);border-color:var(--color-line);transition-property:background-color,border-color,color,opacity;}
    .hh-gallery-prev:focus-visible, .hh-gallery-next:focus-visible, .hh-gallery-fullscreen:focus-visible {background:var(--color-surface);color:var(--color-fg);opacity:1;outline:2px solid var(--color-primary);outline-offset:var(--spacing);}
}
@media (min-width:640px) and (hover:hover) and (pointer:fine) {
    .hh-gallery-prev, .hh-gallery-next, .hh-gallery-fullscreen {opacity:.75;}
    .hh-gallery-stage:hover .hh-gallery-prev, .hh-gallery-stage:hover .hh-gallery-next, .hh-gallery-stage:hover .hh-gallery-fullscreen,
    .hh-gallery-prev:focus-visible, .hh-gallery-next:focus-visible, .hh-gallery-fullscreen:focus-visible {opacity:1;background:var(--color-surface);color:var(--color-fg);border-color:var(--color-primary);}
}
/* The fullscreen gallery is teleported to body, outside the gallery stage. */
.hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image) {background:var(--color-soft);color:var(--color-fg-secondary);border-color:var(--color-line);transition-property:background-color,border-color,color,opacity;}
.hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image):hover, .hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image):focus-visible {background:var(--color-surface);color:var(--color-fg);border-color:var(--color-primary);opacity:1;}
.hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image):focus-visible {outline:2px solid var(--color-primary);outline-offset:var(--spacing);}
.hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image)[aria-pressed="true"] {background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);opacity:1;}
@media (hover:hover) and (pointer:fine) {
    .hh-gallery-lightbox button:not(.hh-gallery-thumbnails__image):not(:hover):not(:focus-visible):not([aria-pressed="true"]) {opacity:.75;}
}
/* Size the square image and thumbnail strip to fit below the sticky header. */
@media (min-width:1200px) and (min-height:720px) {
    .hh-pdp-layout {grid-template-columns:minmax(0,min(calc((100% - var(--spacing) * 5) * .53488372),47.5rem,calc(100dvh - var(--hh-header-height,128px) - 145px))) minmax(0,1fr);}

    .hh-pdp-media {
        position:sticky;
        top:calc(var(--hh-header-height,128px) + 16px);
        width:100%;
        justify-self:start;
        margin-inline:0;
    }
}
@media (max-width:639px) {
    .hh-pdp .hh-buybox {padding:calc(var(--spacing) * 5);border-radius:1.5rem;}
    .hh-pdp .hh-pdp-name {font-size:clamp(2rem,8vw,2.5rem);line-height:1;}
    .hh-pdp .hh-pdp-name-tail {font-size:clamp(1.65rem,7vw,2.2rem);line-height:1;}
    .hh-gallery-stage {display:flex;flex-direction:column;gap:calc(var(--spacing) * 3);}
    .hh-gallery .hh-gallery-frame {width:100%;border:1px solid var(--color-line);border-radius:var(--radius-xl);}
    .hh-gallery-frame > .hh-stitch {display:none;}
    .hh-gallery-controls {display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--spacing) * 2);}
    .hh-gallery .hh-gallery-controls > button {position:static;display:inline-flex;width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11);flex-shrink:0;background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-line);}
    .hh-gallery .hh-gallery-controls > button:hover {background:var(--color-soft);color:var(--color-fg);}
    .hh-gallery-controls > button:focus-visible {outline:2px solid var(--color-fg);outline-offset:var(--spacing);}
    .hh-gallery-fullscreen {order:3;}
    .hh-gallery-prev {order:1;}
    .hh-gallery-next {order:2;}
    .hh-gallery .hh-gallery-count {position:static;order:0;margin-inline-end:auto;height:calc(var(--spacing) * 11);padding-inline:var(--spacing);background:transparent;border:0;border-radius:0;color:var(--color-fg-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:0;}
    .hh-pdp .hh-options .options-list:has(input[type="radio"]) .field.choice > label {
        padding-inline:12px;
        gap:8px;
        font-size:1rem;
        letter-spacing:.08em;
    }
    .hh-pdp .hh-buy-row {display:grid;grid-template-columns:minmax(0,1fr);}
    .hh-pdp .hh-buy-row .hh-qty {justify-self:start;
        margin-inline:0;}
    .hh-pdp #product-addtocart-button {width:100%;min-width:0;padding-left:20px;font-size:1.125rem;}
}

/* Keep every product's detail cards beside its description on desktop. */
.hh-details--grouped {
    grid-template-columns:minmax(0,1fr);
    gap:calc(var(--spacing) * 8);
}
@media (min-width:1024px) {
    .hh-details--grouped {
        grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
        gap:calc(var(--spacing) * 20);
    }
    .hh-details--grouped .hh-details-cards {
        display:flex;
        flex-direction:column;
    }
}

/* Product actions reuse the storefront's semantic colours and spacing. */
.hh-product-actions {display:flex;flex-wrap:wrap;align-items:stretch;gap:calc(var(--spacing) * 3);}
.hh-product-action {display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--spacing) * 2);min-height:calc(var(--spacing) * 11);padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 4);border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-bg);color:var(--color-fg);font-size:var(--text-sm);font-weight:600;cursor:pointer;}
.hh-product-action svg {flex-shrink:0;color:var(--color-accent-ink);}
.hh-product-action:hover {border-color:var(--color-primary);color:var(--color-accent-ink);}
.hh-product-share {position:relative;}
.hh-product-share-options {position:absolute;inset-inline-end:0;top:calc(100% + var(--spacing) * 2);z-index:1;width:max-content;min-width:100%;max-width:calc(100vw - var(--spacing) * 12);padding:calc(var(--spacing) * 2);border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-fg);box-shadow:var(--shadow-lg);}
.hh-product-share-options > :is(a,button) {display:flex;align-items:center;gap:calc(var(--spacing) * 3);width:100%;min-height:calc(var(--spacing) * 11);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);border-radius:var(--radius-lg);color:inherit;text-align:start;font-size:var(--text-sm);cursor:pointer;}
.hh-product-share-options > :is(a,button):hover {background:var(--color-soft);}
.hh-product-share-options svg {color:var(--color-accent-ink);flex-shrink:0;}
.hh-product-actions :is(button,a,input):focus-visible {outline:2px solid var(--color-primary);outline-offset:2px;}
.hh-product-share-options input {max-width:100%;background:var(--color-bg);color:var(--color-fg);border:1px solid var(--color-line);}
@media (max-width:639px) {
    .hh-product-actions > :is(.hh-product-action,.hh-product-share) {flex:1 1 0;min-width:0;}
    .hh-product-share > .hh-product-action {width:100%;height:100%;}
}

/* Fullscreen gallery keeps navigation visible below a contained image. */
.hh-gallery-lightbox { height:100dvh; background:var(--color-bg); touch-action:manipulation; overscroll-behavior:contain; }
.hh-gallery-lightbox__header { flex-shrink:0; padding: max(calc(var(--spacing) * 2), env(safe-area-inset-top)) max(calc(var(--spacing) * 3), env(safe-area-inset-right)) calc(var(--spacing) * 2) max(calc(var(--spacing) * 3), env(safe-area-inset-left)); }
.hh-gallery-lightbox__stage { overflow:hidden; padding:0 max(calc(var(--spacing) * 2), env(safe-area-inset-right)) calc(var(--spacing) * 14) max(calc(var(--spacing) * 2), env(safe-area-inset-left)); }
.hh-gallery-lightbox button > * { pointer-events:none; }
.hh-gallery-lightbox__image { touch-action:none; user-select:none; }
.hh-gallery-lightbox__image img { pointer-events:none; transition:none; }
.hh-gallery-lightbox__prev, .hh-gallery-lightbox__next { bottom:calc(var(--spacing) * 2); }
.hh-gallery-lightbox__hint { flex-shrink:0; margin:0; padding:0 calc(var(--spacing) * 3) calc(var(--spacing) * 2); text-align:center; color:var(--color-fg-secondary); font-size:var(--text-sm); }
.hh-gallery-lightbox__thumbnails { flex-shrink:0; padding:calc(var(--spacing) * 2) calc(var(--spacing) * 4) max(calc(var(--spacing) * 3), env(safe-area-inset-bottom)); border-top:1px solid var(--color-line); background:var(--color-bg); }
.hh-gallery-lightbox__thumbnails .hh-gallery-thumbnails__rail { width:max-content; max-width:100%; margin-inline:auto; }
.hh-gallery-lightbox__thumbnails .hh-gallery-thumbnails__image { width:calc(var(--spacing) * 16); height:calc(var(--spacing) * 16); }
.hh-gallery-lightbox__status { position:absolute; bottom:calc(var(--spacing) * 16); max-width:calc(100% - var(--spacing) * 8); padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3); border:1px solid var(--color-line); border-radius:var(--radius-lg); background:var(--color-surface); color:var(--color-fg); font-size:var(--text-sm); pointer-events:none; }
@media (min-width:640px) {
    .hh-gallery-lightbox__thumbnails .hh-gallery-thumbnails__image { width:calc(var(--spacing) * 20); height:calc(var(--spacing) * 20); }
}

/* Recover image height on touch devices held in landscape. */
@media (orientation:landscape) and (hover:none) and (pointer:coarse) {
    .hh-gallery-lightbox__stage { padding-bottom:0; }
    .hh-gallery-lightbox__prev, .hh-gallery-lightbox__next { bottom:auto; top:50%; transform:translateY(-50%); }
    .hh-gallery-lightbox__hint { display:none; }
    .hh-gallery-lightbox__thumbnails .hh-gallery-thumbnails__image { width:calc(var(--spacing) * 16); height:calc(var(--spacing) * 16); }
}

/* Keep the short-description preview to three lines at every viewport width. */
.hh-short-description__preview {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}

/* Readable headings and copy for the new custom leather range. */
.hh-details-prose .hh-copy-heading {
    font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);
    line-height:1.35;text-transform:none;letter-spacing:normal;
    margin:calc(var(--spacing) * 8) 0 calc(var(--spacing) * 4);
}
.hh-details-prose .hh-copy-subheading {
    font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);
    line-height:1.4;text-transform:none;letter-spacing:normal;
    margin:calc(var(--spacing) * 6) 0 calc(var(--spacing) * 3);
}
.hh-details-prose .hh-copy-heading:first-child {margin-top:0;}
.hh-details-prose .hh-copy-heading ~ :is(p,ul,ol) {font-size:var(--text-lg);line-height:1.75;}

/* Overlay compact navigation at the two ends of the thumbnail strip. */
.hh-gallery > .hh-gallery-thumbnails {
    position:relative;
    grid-template-columns:minmax(0,1fr);
}
.hh-gallery > .hh-gallery-thumbnails > .hh-gallery-thumbnails__arrow {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:1;
    width:calc(var(--spacing) * 8);
    height:calc(var(--spacing) * 8);
}
.hh-gallery > .hh-gallery-thumbnails > .hh-gallery-thumbnails__arrow:first-child {inset-inline-start:calc(var(--spacing) * 2);}
.hh-gallery > .hh-gallery-thumbnails > .hh-gallery-thumbnails__arrow:last-child {inset-inline-end:calc(var(--spacing) * 2);}
.hh-gallery > .hh-gallery-thumbnails > .hh-gallery-thumbnails__arrow svg {
    width:calc(var(--spacing) * 4);
    height:calc(var(--spacing) * 4);
}

/* Fill thumbnail tiles while leaving the main product image uncropped. */
.hh-gallery-thumbnails__image img {object-fit:cover; padding:0;}
.hh-gallery-thumbnails__rail {scroll-snap-type:x proximity; scroll-padding-inline:var(--spacing);}
.hh-gallery-thumbnails__item {scroll-snap-align:start;}
@media (max-width:639px) {
 .hh-gallery > .hh-gallery-thumbnails .hh-gallery-thumbnails__image {width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16);}
}
@media (hover:hover) and (pointer:fine) {
 .hh-gallery-lightbox__stage {padding-bottom:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 20);}
 .hh-gallery-lightbox__prev,.hh-gallery-lightbox__next {top:50%;bottom:auto;transform:translateY(-50%);}
}

/* Match the header gutter and keep overlays anchored to the image width. */
@media (min-width:1200px) {
    .hh-pdp > section {padding-inline:calc(var(--spacing) * 6);}
    .hh-gallery {max-width:47.5rem;}
    .hh-gallery .hh-gallery-frame {width:100%;max-height:none;}
}

.catalog-product-view .breadcrumbs ol {
    font-size: var(--text-sm);
    letter-spacing: normal;
    text-transform: none;
    padding-block: 1.125rem;
    font-weight: 500;
    padding-left: 10px;
}
