/* ============================================================
   WooCommerce category pages + κύρια σελίδα καταστήματος (/shop/)
   Η σελίδα καταστήματος (body.woocommerce-shop) παίρνει ΑΚΡΙΒΩΣ την ίδια
   μεταχείριση header/hero με τις κατηγορίες, ώστε το breadcrumb (και όλο
   το menu) να είναι ίδιο με τις υπόλοιπες σελίδες.
   ============================================================ */
body.tax-product_cat,
body.woocommerce-shop {
    padding-top: 0;
}

body.tax-product_cat .top-bar,
body.woocommerce-shop .top-bar {
    background: rgba(0, 0, 0, 0.5);
}

body.tax-product_cat .site-nav,
body.woocommerce-shop .site-nav {
    background: transparent;
    border-bottom: 0;
}

body.tax-product_cat .site-nav__links a,
body.tax-product_cat .site-nav__products-btn,
body.tax-product_cat .site-nav__icon-btn,
body.tax-product_cat .site-nav__cart-count,
body.woocommerce-shop .site-nav__links a,
body.woocommerce-shop .site-nav__products-btn,
body.woocommerce-shop .site-nav__icon-btn,
body.woocommerce-shop .site-nav__cart-count {
    color: var(--color-white);
}

body.tax-product_cat .site-nav__links a.is-active::before,
body.tax-product_cat .site-nav__products-btn.is-active::before,
body.woocommerce-shop .site-nav__links a.is-active::before,
body.woocommerce-shop .site-nav__products-btn.is-active::before {
    display: none;
}

body.tax-product_cat .nav-icon--dark,
body.tax-product_cat .site-nav__logo-img--default,
body.tax-product_cat .site-nav__hamburger-icon--dark,
body.woocommerce-shop .nav-icon--dark,
body.woocommerce-shop .site-nav__logo-img--default,
body.woocommerce-shop .site-nav__hamburger-icon--dark {
    display: none !important;
}

body.tax-product_cat .nav-icon--light,
body.tax-product_cat .site-nav__logo-img--light,
body.tax-product_cat .site-nav__hamburger-icon--light,
body.woocommerce-shop .nav-icon--light,
body.woocommerce-shop .site-nav__logo-img--light,
body.woocommerce-shop .site-nav__hamburger-icon--light {
    display: block !important;
}

body.tax-product_cat .site-header.is-scrolled .top-bar,
body.woocommerce-shop .site-header.is-scrolled .top-bar {
    background: var(--color-black);
}

body.tax-product_cat .site-header.is-scrolled .site-nav,
body.woocommerce-shop .site-header.is-scrolled .site-nav {
    background: var(--color-white);
    border-bottom: 1px solid var(--color-gray-100);
}

body.tax-product_cat .site-header.is-scrolled .site-nav__links a,
body.tax-product_cat .site-header.is-scrolled .site-nav__products-btn,
body.tax-product_cat .site-header.is-scrolled .site-nav__icon-btn,
body.tax-product_cat .site-header.is-scrolled .site-nav__cart-count,
body.woocommerce-shop .site-header.is-scrolled .site-nav__links a,
body.woocommerce-shop .site-header.is-scrolled .site-nav__products-btn,
body.woocommerce-shop .site-header.is-scrolled .site-nav__icon-btn,
body.woocommerce-shop .site-header.is-scrolled .site-nav__cart-count {
    color: var(--color-black);
}

body.tax-product_cat .site-header.is-scrolled .nav-icon--dark,
body.tax-product_cat .site-header.is-scrolled .site-nav__logo-img--default,
body.tax-product_cat .site-header.is-scrolled .site-nav__hamburger-icon--dark,
body.woocommerce-shop .site-header.is-scrolled .nav-icon--dark,
body.woocommerce-shop .site-header.is-scrolled .site-nav__logo-img--default,
body.woocommerce-shop .site-header.is-scrolled .site-nav__hamburger-icon--dark {
    display: block !important;
}

body.tax-product_cat .site-header.is-scrolled .nav-icon--light,
body.tax-product_cat .site-header.is-scrolled .site-nav__logo-img--light,
body.tax-product_cat .site-header.is-scrolled .site-nav__hamburger-icon--light,
body.woocommerce-shop .site-header.is-scrolled .nav-icon--light,
body.woocommerce-shop .site-header.is-scrolled .site-nav__logo-img--light,
body.woocommerce-shop .site-header.is-scrolled .site-nav__hamburger-icon--light {
    display: none !important;
}

.panos-shop {
    background: var(--color-white);
}

.shop-hero {
    position: relative;
    height: 850px;
    padding-bottom: 0;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.shop-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.6) 5%, rgba(49, 49, 49, 0) 46%),
        rgba(0, 0, 0, 0.3);
}

.shop-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.shop-hero__title {
    margin: 58px 0 0;
    color: var(--color-white);
    font-size: 140px;
    font-weight: var(--font-weight-thin);
    letter-spacing: 42px;
    line-height: 1;
    text-align: center;
}

.shop-child-cats {
    margin-top: -84px;
    padding-bottom: 104px;
}

.shop-child-cats__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.shop-child-card {
    position: relative;
    display: flex;
    min-height: 400px;
    padding: 72px;
    background: var(--color-off-white);
    overflow: hidden;
    transition: background-color 0.25s ease;
}

.shop-child-card:hover,
.shop-child-card:focus-visible {
    background: var(--color-gray-200);
}

.shop-child-card__image {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.shop-child-card__image img {
    position: absolute;
    right: -4%;
    top: -18%;
    width: 88%;
    height: 135%;
    max-width: none;
    object-fit: contain;
    transition: transform 0.35s ease;
}

.shop-child-card:nth-child(1) .shop-child-card__image img {
    right: -15%;
    top: -30%;
    width: 115%;
    height: 150%;
}

.shop-child-card:nth-child(2) .shop-child-card__image img {
    right: 0;
    top: -6%;
    width: 78%;
    height: 112%;
}

.shop-child-card:nth-child(3) .shop-child-card__image img {
    right: -22%;
    top: -28%;
    width: 100%;
    height: 148%;
}





.shop-child-card:nth-child(4) .shop-child-card__image img {
    right: -16%;
    top: -10%;
    width: 92%;
    height: 132%;
}

.shop-child-card:hover .shop-child-card__image img {
    transform: scale(1.035);
}

.shop-child-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.shop-child-card__title {
    color: var(--color-black);
    font-size: 32px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.96px;
    line-height: 1;
    text-transform: uppercase;
    transition: color 0.25s ease;
}

.shop-child-card__more {
    color: var(--color-gray-600);
    font-size: 14px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 1.4px;
    line-height: 1;
    text-decoration: underline;
    text-decoration-color: var(--color-primary);
    text-transform: uppercase;
    transition:
        color 0.25s ease,
        text-decoration-color 0.25s ease;
}

.shop-child-card:hover .shop-child-card__title,
.shop-child-card:hover .shop-child-card__more,
.shop-child-card:focus-visible .shop-child-card__title,
.shop-child-card:focus-visible .shop-child-card__more {
    color: var(--color-white);
    text-decoration-color: currentColor;
}

.shop-intro {
    padding-bottom: var(--section-spacing);
}

.shop-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 650px) minmax(0, 754px);
    gap: 182px;
    justify-content: center;
}

.shop-intro__item {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

.shop-intro__header {
    display: flex;
    flex-direction: column;
    gap: 48px;
    align-items: flex-start;
}

.shop-intro__header h2 {
    margin: 0;
    color: var(--color-black);
    font-size: 48px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0;
    line-height: 1.3;
}

.shop-intro__header span {
    display: block;
    width: 104px;
    height: 12px;
    background: var(--color-primary);
}

.shop-intro__body {
    color: var(--color-gray-700);
    font-size: 18px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0;
    line-height: 1.6;
}

.shop-intro__body p:not(:last-child) {
    margin-bottom: 28px;
}

.shop-intro__body a {
    text-decoration: underline;
    text-decoration-color: var(--color-primary);
}

/* ============================================================
   Product category archive
   ============================================================ */
.shop-category-switcher {
    padding-top: 64px;
    padding-bottom: 32px;
}

.shop-category-switcher__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.shop-category-switcher h2 {
    margin: 0;
    color: var(--color-black);
    font-size: 32px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.96px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.shop-category-switcher__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.shop-category-switcher__buttons::-webkit-scrollbar {
    display: none;
}

.shop-category-switcher__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    flex: 0 1 350px;
    height: 48px;
    border: 1px solid var(--color-gray-100);
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 1.6px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.shop-category-switcher__button:hover {
    border-color: var(--color-primary);
}

.shop-category-switcher__button.is-active,
.shop-category-switcher__button.is-active:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
}

.shop-brand-logos {
    --logo-w: 182px;
    --logo-h: 122px;
    --logo-gap: 120px;
    padding: 0 0 32px;
}

.shop-brand-logos__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: var(--logo-gap);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.shop-brand-logos__inner::-webkit-scrollbar {
    display: none;
}

.shop-brand-logos__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--logo-w);
    height: var(--logo-h);
    flex: 0 0 var(--logo-w);
}

.shop-brand-logos__item img {
    display: block;
    width: var(--logo-w);
    height: var(--logo-h);
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center;
}

.shop-products {
    padding-bottom: var(--section-spacing);
}

.shop-type-nav {
    padding: 48px 0 32px;
    background: var(--color-white);
}

.shop-type-nav__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 148px;
    overflow-x: auto;
    scrollbar-width: none;
}

.shop-type-nav__inner::-webkit-scrollbar {
    display: none;
}

.shop-type-nav__item {
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--color-gray-400);
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-light);
    letter-spacing: 0.54px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

button.single_add_to_cart_button.button.alt.panos-product__add {
    max-width: 350px;
    width: 100%;
    background: transparent;
    color: black;
    border: 1px solid #b3b3b3;
    border-radius: 0;
}

button.single_add_to_cart_button.button.alt.panos-product__add:hover {
    background: var(--color-primary);
    color: var(--color-white);
    border: 1px solid var(--color-primary);
}

.shop-type-nav__item.is-active,
.shop-type-nav__item:hover {
    color: var(--color-black);
}

.shop-type-nav__item.is-active .shop-type-nav__icon,
.shop-type-nav__item:hover .shop-type-nav__icon,
.shop-type-nav__item:focus-visible .shop-type-nav__icon {
    color: var(--color-primary);
}

.shop-type-nav__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 35px;
    color: currentColor;
    --fill-0: currentColor;
}

.shop-type-nav__icon:empty {
    display: none;
}

.shop-type-nav__icon svg {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.shop-type-nav__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-type-nav__icon svg path {
    transition:
        fill 0.2s ease,
        stroke 0.2s ease;
}

.shop-type-nav__item.is-active .shop-type-nav__icon svg path,
.shop-type-nav__item:hover .shop-type-nav__icon svg path,
.shop-type-nav__item:focus-visible .shop-type-nav__icon svg path {
    fill: var(--color-primary) !important;
}

.shop-products__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 64px 0 48px;
}

.shop-products__filter,
.shop-products__overview {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--color-black);
    font-size: 18px;
    font-weight: var(--font-weight-light);
    letter-spacing: 0.54px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.shop-products__filter>span,
.shop-products__overview>span {
    color: var(--color-gray-500);
}

.shop-products__overview {
    gap: 34px;
    font-size: 20px;
    letter-spacing: 0.6px;
}

.shop-products__filter strong {
    color: var(--color-black);
    font-weight: var(--font-weight-light);
}

.shop-products__price-controls {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-black);
    font-size: 18px;
    font-weight: var(--font-weight-light);
    letter-spacing: 0.54px;
    line-height: 1;
}

.shop-products__price-field {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
}

.shop-products__price-input {
    width: 58px;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: var(--font-primary);
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: 1;
    text-align: right;
    appearance: textfield;
    -moz-appearance: textfield;
}

.shop-products__price-input::-webkit-outer-spin-button,
.shop-products__price-input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.shop-products__price-field:focus-within,
.shop-products__per-page-select:focus {
    outline: 1px solid var(--color-primary);
    outline-offset: 4px;
}

.shop-products__price-input:focus {
    outline: 0;
}

.shop-products__price-separator {
    margin: 0 4px;
    color: var(--color-black);
}

.shop-products__per-page {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.shop-products__per-page::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    content: "";
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.shop-products__per-page-select {
    width: auto;
    height: auto;
    padding: 0 28px 0 0;
    border: 0;
    background: transparent;
    color: var(--color-black);
    cursor: pointer;
    font-family: var(--font-primary);
    font-size: inherit;
    font-weight: var(--font-weight-light);
    letter-spacing: inherit;
    line-height: 1;
    text-transform: uppercase;
    appearance: none;
}

/*
  Grid layout per Figma:
  Row 1: 2 cards (wider)
  Rows 2-3: 3 cards
  Row 4: 2 cards
  Pattern repeats every 8 cards (2+3+3 = 8).
  We use a 6-column base grid and span rules.
*/
.shop-products__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 80px;
}

/* Every card defaults to 2 of 6 columns = 3 per row */
.shop-products__grid .shop-product-card {
    grid-column: span 2;
}

/* Rows 1 of each 8-cycle (positions 1 & 2): span 3 = 2 cards per row */
.shop-products__grid .shop-product-card:nth-child(8n + 1),
.shop-products__grid .shop-product-card:nth-child(8n + 2) {
    grid-column: span 3;
}

/* Loading state */
.shop-products__grid.is-loading,
.shop-products__load-more.is-loading,
.shop-products__empty.is-loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.shop-product-card {
    min-width: 0;
}

.shop-product-card__media {
    position: relative;
    height: 570px;
    background: var(--color-off-white);
    overflow: hidden;
    touch-action: pan-y;
}

.shop-product-card__image-link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.shop-product-card__media::after {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.05);
    content: "";
    pointer-events: none;
}

/* ── Card gallery: two images, zone hover switching ── */

/* gallery zones: invisible left/right halves inside media */
.shop-product-card__gallery-zones {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    pointer-events: none;
}

.shop-product-card__zone {
    flex: 1;
    pointer-events: none;
}

/* two stacked images inside the image-link */
.shop-product-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition:
        opacity 0.3s ease,
        transform 0.35s ease;
}

.shop-product-card__image-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shop-product-card__img.is-active {
    opacity: 1;
}

.shop-product-card:hover .shop-product-card__img.is-active {
    transform: scale(1.035);
}

/* progress bar — OUTSIDE media, below the image, right-aligned */
.shop-product-card__progress {
    display: flex;
    justify-content: flex-end;
    gap: 0;
    padding: 12px 0 0;
}

.shop-product-card__progress--placeholder {
    visibility: hidden;
}

.shop-product-card__progress-bar {
    width: 88px;
    height: 2px;
    background: var(--color-gray-100);
    transition: background 0.2s ease;
}

.shop-product-card__progress-bar.is-active {
    background: var(--color-primary);
}

.shop-product-card__icons {
    position: absolute;
    z-index: 6;
    top: 24px;
    left: 24px;
    right: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.shop-product-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 33px;
    padding: 0;
    color: var(--color-gray-300);
    background: transparent;
    border: 0;
    cursor: pointer;
    pointer-events: auto;
    --fill-0: currentColor;
    --stroke-0: currentColor;
    transition: color 0.2s ease;
}

.shop-product-card__icon:hover,
.shop-product-card__icon:focus-visible {
    color: var(--color-primary);
}

.shop-product-card__icon.added,
.shop-product-card__icon.is-active {
    color: var(--color-primary);
}

.shop-product-card__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.shop-product-card__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0 0;
}

.shop-product-card__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin: 0 0 16px;
    overflow: hidden;
    color: var(--color-black);
    font-size: 20px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.6px;
    line-height: 1.15;
    white-space: normal;
}

.shop-product-card__cat {
    overflow: hidden;
    color: var(--color-gray-600);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.shop-product-card__price {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    color: var(--color-black);
    font-size: 20px;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

.shop-product-card__old {
    color: var(--color-primary);
    font-size: 14px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.42px;
    text-decoration: line-through;
}

.shop-product-card__new {
    color: var(--color-black);
    font-size: 20px;
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.6px;
}

.shop-product-card__price .woocommerce-Price-amount,
.shop-product-card__price .woocommerce-Price-currencySymbol {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.shop-products__load-more {
    margin-top: 72px;
    text-align: center;
}

.shop-products__load-more-inner {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.shop-products__viewed {
    margin: 0;
    color: var(--color-gray-500);
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1;
}

.shop-products__load-more-btn {
    min-width: 220px;
}

.shop-products__load-more-btn:disabled {
    cursor: wait;
    opacity: 0.6;
}

.shop-products__empty {
    padding: 72px 0;
    color: var(--color-gray-700);
    font-size: 18px;
    text-align: center;
}

/* ============================================================
   Single product
   ============================================================ */
.single-product .woocommerce-notices-wrapper {
    width: 94%;
    margin: 32px auto 0;
}

.panos-product__breadcrumbs {
    margin-top: 0;
    margin-bottom: 28px;
}

.panos-product__main {
    display: grid;
    grid-template-columns: minmax(0, calc((100% - 8px) * 0.4932)) minmax(0, 1fr);
    column-gap: 8px;
    align-items: start;
    width: var(--container-width);
    margin: 0 auto;
}

.panos-product__gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 8px;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.panos-product__main-image {
    position: relative;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    height: auto;
    aspect-ratio: 1.3 / 1;
    margin: 0;
    background: var(--color-off-white);
    overflow: hidden;
}

.panos-product__main-image[role="button"] {
    cursor: zoom-in;
}

.panos-product__main-image[role="button"]:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 4px;
}

.panos-product__main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.panos-product__gallery-nav {
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    height: 88px;
    width: 90%;
    margin: 0 auto;
    background: transparent;
}

.panos-product__gallery-arrow {
    display: inline-flex;
    align-items: center;
    padding: 0;
    color: var(--color-gray-200);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.panos-product__gallery-arrow--next {
    color: var(--color-primary);
}

.panos-product__gallery-count {
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 1.6px;
    line-height: 1;
}

.panos-product__thumb-grid {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.panos-product__thumb {
    position: relative;
    height: 427px;
    padding: 0;
    background: var(--color-off-white);
    border: 0;
    cursor: pointer;
    overflow: hidden;
}

.panos-product__thumb::after {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    content: "";
    pointer-events: none;
}

.panos-product__thumb.is-active::after {
    border-color: var(--color-primary);
}

.panos-product__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.panos-product__gallery-video {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--color-off-white);
    overflow: hidden;
}

.panos-product__gallery-video-media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

body.product-lightbox-open {
    overflow: hidden;
}

.panos-product-lightbox[hidden] {
    display: none !important;
}

.panos-product-lightbox {
--product-lightbox-image-w: 740px;
    --product-lightbox-image-h: clamp(516px, 75.15vh, 755px);
    position: fixed;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
        z-index: 9999;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--color-white);
}

.panos-product-lightbox__stage {
    display: grid;
    grid-template-columns:
        minmax(170px, 1fr) var(--product-lightbox-image-w) minmax(170px, 1fr);
    grid-template-rows: var(--product-lightbox-image-h) auto;
    min-height: calc(100dvh - 10px);
        padding: 20px 64px 20px;
        align-content: center;
}

.panos-product-lightbox__image-wrap {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--color-off-white);
}

.panos-product-lightbox__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.panos-product-lightbox__close,
.panos-product-lightbox__arrow,
.panos-product-lightbox__thumb {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.panos-product-lightbox__close {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    width: 24px;
    height: 24px;
    margin-left: 60px;
    color: var(--color-primary);
}

.panos-product-lightbox__close span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.panos-product-lightbox__close span::before,
.panos-product-lightbox__close span::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1.6px;
    background: currentColor;
    content: "";
}

.panos-product-lightbox__close span::before {
    transform: rotate(45deg);
}

.panos-product-lightbox__close span::after {
    transform: rotate(-45deg);
}

.panos-product-lightbox__arrow {
    grid-row: 1;
    align-self: center;
    display: flex;
    align-items: center;
    width: 121px;
    height: 10px;
    color: var(--color-gray-200);
    transition: color 0.2s ease;
}

.panos-product-lightbox__arrow:hover,
.panos-product-lightbox__arrow:focus-visible {
    color: var(--color-primary);
}

.panos-product-lightbox__arrow--prev {
    grid-column: 1;
    justify-self: end;
    margin-right: 64px;
}

.panos-product-lightbox__arrow--next {
    grid-column: 3;
    justify-self: start;
    margin-left: 60px;
}

.panos-product-lightbox__count {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    margin: 114px 64px 0 0;
    color: var(--color-black);
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 3.84px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.panos-product-lightbox__thumbs {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    gap: 8px;
    margin-top: 7px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
        scrollbar-color: #ec2027 transparent;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar {
    /* display: none; */
}

.panos-product-lightbox__thumb {
    position: relative;
    flex: 0 0 calc((100% - 32px) / 5);
    height: 131px;
    overflow: hidden;
    background: var(--color-off-white);
}

.panos-product-lightbox__thumbs::-webkit-scrollbar {
    height: 3px;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar-track {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar-thumb {
    background: #ec2027;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar-button {
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar-corner {
    background: transparent;
}

.panos-product-lightbox__thumbs::-webkit-scrollbar-button:horizontal:increment,
.panos-product-lightbox__thumbs::-webkit-scrollbar-button:horizontal:decrement,
.panos-product-lightbox__thumbs::-webkit-scrollbar-button:single-button:horizontal:increment,
.panos-product-lightbox__thumbs::-webkit-scrollbar-button:single-button:horizontal:decrement {
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;

    background: transparent !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    display: none !important;
    -webkit-appearance: none !important;
}


.panos-product-lightbox__thumb::after {
    position: absolute;
    inset: 0;
    background: transparent;
    content: "";
    pointer-events: none;
    transition: background 0.2s ease;
}

.panos-product-lightbox__thumb.is-active::after {
    background: rgba(0, 0, 0, 0.5);
}

.panos-product-lightbox__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.panos-product__summary {
   /* position: sticky; */

    top: 124px;
    align-self: start;
    min-width: 0;
}

.panos-product__summary-inner {
    display: flex;
    justify-content: space-between;
    gap: 0px;
    min-height: 862px;
    padding: 34px 0px 47px 64px;
    background: var(--color-white);
}

.panos-product__summary-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 56px;
    min-width: 0;
}

.panos-product__title {
    margin: 0;
    color: var(--color-black);
    font-size: 88px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1;
}

.panos-product__copy {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.panos-product__subtitle,
.panos-product__dimension>p,
.panos-product__call {
    margin: 0;
    color: var(--color-black);
    font-size: 18px;
    font-weight: var(--font-weight-light);
    letter-spacing: 0.54px;
    line-height: 1;
    text-transform: uppercase;
}

.panos-product__description {
    max-width: 718px;
    color: var(--color-gray-700);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.48px;
    line-height: 1.4;
}

.panos-product__description p:not(:last-child) {
    margin-bottom: 8px;
}

.panos-product__desc-list {
    margin: 0;
    padding-left: 1.15em;
    list-style: disc;
}

.panos-product__desc-list li::marker {
    color: var(--color-primary);
}

.panos-product__desc-list li {
    margin: 0 0 8px;
}

.panos-product__desc-list li:last-child {
    margin-bottom: 0;
}

.panos-product__price {
    display: flex;
    flex-direction: column;
    gap: 24px;
    text-transform: uppercase;
}

.panos-product__price del {
    color: var(--color-primary);
    font-size: 28px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.84px;
    line-height: 1;
    opacity: 1;
}

.panos-product__price ins {
    color: var(--color-black);
    font-size: 48px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
}




.panos-product__dimension {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 315px;
}

.panos-product__dimension>div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.panos-product__dimension-icon {
    display: inline-flex;
    width: 72px;
    height: 35px;
    color: var(--color-primary);
    --fill-0: currentColor;
}

.panos-product__dimension-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.panos-product__dimension-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.panos-product__dimension strong {
    color: var(--color-black);
    font-size: 20px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.6px;
    line-height: 1;
}

.panos-product__actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.panos-product__contact {
    position: relative;
    justify-content: flex-start;
    gap: 0;
    width: min(463px, 100%);
    max-width: 463px;
    padding: 0 105px 0 80px;
}

.panos-product__contact span {
    position: absolute;
    top: 50%;
    right: 24px;
    display: block;
    width: 22px;
    height: 17px;
    margin: 0;
    padding: 0;
    border: 1.4px solid currentColor;
    border-radius: 2px;
    font-size: 0;
    line-height: 0;
    transform: translateY(-50%);
}

.panos-product__contact span::before,
.panos-product__contact span::after {
    position: absolute;
    top: 2px;
    width: 12px;
    height: 1.4px;
    background: currentColor;
    content: "";
    transform-origin: top center;
}

.panos-product__contact span::before {
    left: 0;
    transform: rotate(35deg);
}

.panos-product__contact span::after {
    right: 0;
    transform: rotate(-35deg);
}

.panos-product__cart {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
}

.panos-product__qty {
    position: relative;
    display: flex;
    align-items: center;
    width: 97px;
    height: 48px;
    border: 1px solid var(--color-gray-100);
}

.panos-product__qty select {
    width: 100%;
    height: 100%;
    padding: 0 34px 0 24px;
    color: var(--color-black);
    text-align: center;
    text-align-last: center;
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: var(--font-weight-regular);
    letter-spacing: 0.72px;
    line-height: 1;
    background: transparent;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    cursor: pointer;
}

.panos-product__qty::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--color-black);
    border-bottom: 1.5px solid var(--color-black);
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}

.panos-product__add,
.panos-product__cart--default .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    height: 48px;
    padding: 0 24px;
    border: 1px solid var(--color-gray-100);
    color: var(--color-black);
    background: transparent;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 1.6px;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.panos-product__add:hover,
.panos-product__cart--default .single_add_to_cart_button:hover {
    border-color: var(--color-primary);
    color: var(--color-white);
    background: var(--color-primary);
}

.panos-product__cart .panos-product__add {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.panos-product__call {
    display: flex;
    gap: 12px;
    align-items: center;
}

.panos-product__call a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.panos-product__phones {
    display: flex;
    gap: 6px;
}

.panos-product__phone--secondary::before {
    margin-right: 6px;
    content: "/";
    text-decoration: none;
}

.panos-product__side-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 24px;
}

.panos-product__side-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: var(--color-primary);
    background: var(--color-white);
    border: 1px solid var(--color-gray-100);
    cursor: pointer;
    --fill-0: currentColor;
    --stroke-0: currentColor;
    transition:
        border-color 0.2s ease,
        color 0.2s ease;
}

.panos-product__side-actions button.panos-product__side-action--wishlist:hover,
.panos-product__side-actions button.panos-product__side-action--wishlist:focus-visible,
.panos-product__side-actions button.panos-product__side-action--wishlist.is-active {
    border-color: var(--color-primary);
}

.panos-product__side-actions button:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.panos-product__side-actions svg {
    width: 22px;
    height: 22px;
}

.panos-product__side-action--wishlist svg {
    width: 21px;
    height: 18px;
    overflow: visible;
}

.panos-product__side-actions button.panos-product__side-action--wishlist svg path {
    fill: none;
    stroke: currentColor;
}

.panos-product__side-actions button.panos-product__side-action--wishlist.is-active svg path,
.panos-product__side-actions button.panos-product__side-action--wishlist[aria-pressed="true"] svg path {
    fill: currentColor;
}

.panos-product__side-action--share svg {
    width: 14px;
    height: 17px;
}

.panos-product__side-action--print svg {
    width: 17px;
    height: 17px;
}

.product-interest {
    padding-top: 120px;
    padding-bottom: 120px;
}

.product-interest__box {
    padding: 80px;
    background: var(--color-off-white);
}

.product-interest h2 {
    margin: 0 0 53px;
    color: var(--color-black);
    font-size: 48px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0;
    line-height: 1.3;
}

.product-interest__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.product-interest__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.product-interest input,
.product-interest textarea {
    width: 100%;
    border: 0;
    border-radius: 0;
    color: var(--color-gray-800);
    background: var(--color-white);
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.48px;
    line-height: 1.4;
}

.product-interest input {
    height: 54px;
    padding: 0 32px;
}

.product-interest textarea {
    min-height: 218px;
    padding: 32px;
    resize: vertical;
}

.product-interest__note,
.product-interest__feedback {
    margin: 0;
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-extralight);
    letter-spacing: 0.48px;
    line-height: 1.4;
}

.product-interest__feedback {
    min-height: 22px;
}

.product-interest__feedback.is-success {
    color: var(--color-primary);
}

.product-interest__feedback.is-error {
    color: var(--color-gray-800);
}

.product-interest__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    height: 48px;
    margin-top: 24px;
    border: 1px solid var(--color-primary);
    color: var(--color-white);
    background: var(--color-primary);
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: var(--font-weight-medium);
    letter-spacing: 1.6px;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
}

.product-interest__submit:disabled {
    cursor: wait;
    opacity: 0.65;
}

.panos-product__lifestyle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 1080px;
    padding: 0 64px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.panos-product__lifestyle-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
}

.panos-product__lifestyle h2 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--color-white);
    font-size: 200px;
    font-weight: var(--font-weight-thin);
    letter-spacing: 60px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 1550px) {
    .shop-hero__title {
        font-size: 70px;
        letter-spacing: 21px;
    }

    .shop-brand-logos {
        --logo-w: 158px;
        --logo-h: 106px;
        --logo-gap: 88px;
    }

.panos-product__price ins {
	font-size: 40px;
	}
.panos-product__title {
	font-size: 70px;
	}

}

@media (max-width: 1440px) {
    .shop-intro__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 80px;
    }

    .shop-category-switcher__buttons {
        display: flex;
    }

    .shop-category-switcher__button {
        width: min(350px, calc((100% - 36px) / 4));
        flex-basis: min(350px, calc((100% - 36px) / 4));
    }

    .shop-type-nav__inner {
        gap: 72px;
    }

    .shop-brand-logos {
        --logo-w: 140px;
        --logo-h: 94px;
        --logo-gap: 64px;
    }

    .shop-product-card__media {
        height: 470px;
    }

    .panos-product__summary-inner {
        grid-template-columns: minmax(0, 1fr) 46px;
        gap: 28px;
        padding-right: 34px;
        padding-left: 42px;
    }

    .panos-product__title {
        font-size: 72px;
    }

    .panos-product__summary-content {
        gap: 42px;
    }
}

@media (max-width: 991px) {
    .shop-hero {
        height: 100vh;
    }

    .shop-hero__title {
        font-size: 72px;
        letter-spacing: 12px;
        word-break: break-word;
    }

    .shop-child-cats {
        margin-top: 0px;
        padding-bottom: 50px;
    }

    .shop-intro__grid,
    .panos-product__main,
    .product-interest__row {
        grid-template-columns: 1fr;
    }

    /* Child category cards stay 2×2 on mobile (Figma) */
    .shop-child-cats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(6px, 1.6vw, 8px);
        width: 100%;
    }

    /* On mobile: 2-col grid, all cards span 3 of 6 = 2 per row */
    .shop-products__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    /* 2-col on tablet: all cards span 3 of 6 */
    .shop-products__grid .shop-product-card,
    .shop-products__grid .shop-product-card:nth-child(8n + 1),
    .shop-products__grid .shop-product-card:nth-child(8n + 2) {
        grid-column: span 3;
    }

    /* Figma mobile card: ~192×328, content at top, centered (title over ΠΕΡΙΣΣΟΤΕΡΑ) */
    .shop-child-card {
        min-height: 0;
        aspect-ratio: 192 / 328;
        padding: clamp(28px, 8vw, 40px) clamp(16px, 5vw, 24px);
        align-items: flex-start;
        justify-content: center;
    }

    .shop-child-card__content {
        align-items: center;
        gap: clamp(10px, 3vw, 14px);
        text-align: center;
    }

    .shop-child-card__title {
        font-size: clamp(18px, 5vw, 20px);
        letter-spacing: 0.6px;
    }

    .shop-child-card__more {
        font-size: clamp(10px, 3vw, 11px);
        letter-spacing: 1.1px;
    }

    .shop-intro,
    .shop-products,
    .product-interest {
        padding-bottom: 50px;
    }

    .shop-intro__grid {
        gap: 56px;
    }

    .product-interest h2 {
        font-size: 38px;
    }

    /* Intro text — Figma mobile (title 28px / body 14px) */
    .shop-intro__item {
        gap: clamp(28px, 8vw, 40px);
    }

    .shop-intro__header {
        gap: clamp(24px, 7vw, 32px);
    }

    .shop-intro__header h2 {
        font-size: clamp(22px, 7vw, 28px);
        line-height: 1.3;
    }

    .shop-intro__body {
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: -0.28px;
    }

    .shop-category-switcher {
        padding-top: 50px;
    }

    .shop-category-switcher__inner {
        gap: 32px;
    }

    /* Category buttons: 2×2 grid on mobile (Figma) */
    .shop-category-switcher__buttons {
        display: flex;
        flex-wrap: wrap;
        gap: clamp(8px, 2.4vw, 12px);
        overflow: visible;
    }

    .shop-category-switcher__button {
        flex: 0 1 calc((100% - clamp(8px, 2.4vw, 12px)) / 2);
        width: calc((100% - clamp(8px, 2.4vw, 12px)) / 2);
        height: clamp(37px, 10vw, 48px);
        font-size: clamp(11px, 3.4vw, 16px);
        letter-spacing: 1px;
        padding: 0 6px;
    }

    .shop-brand-logos {
        --logo-gap: 20px;
        padding: 8px 0 20px;
    }

    .shop-brand-logos__inner {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px var(--logo-gap);
        overflow: visible;
    }

    .shop-brand-logos__item {
        flex: 1 1 calc((100% - 60px) / 4);
        width: auto;
        min-width: 88px;
        max-width: 140px;
        height: auto;
        aspect-ratio: 182 / 122;
    }

    .shop-brand-logos__item img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .shop-type-nav {
        padding: 32px 0 24px;
    }

    .shop-type-nav__inner {
        justify-content: flex-start;
        gap: 48px;
    }

    /* Toolbar: price + overview side by side, each label-over-value (Figma) */
    .shop-products__toolbar {
        flex-direction: row;
        align-items: flex-start;
        gap: 50px;
        margin: 40px 0 32px;
    }

    .shop-products__filter,
    .shop-products__overview {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .shop-products__price-controls,
    .shop-products__per-page-select {
        font-size: 14px;
        letter-spacing: 0.42px;
    }

    .shop-product-card__media {
        height: auto;
        aspect-ratio: 358 / 232;
    }

    /* Mobile order (Figma): main image → summary → thumbnail gallery grid.
       Flatten the gallery so its children reorder alongside the summary. */
    .panos-product__main {
        display: flex;
        flex-direction: column;
    }

    .panos-product__gallery {
        display: contents;
    }

    .panos-product__main-image {
        order: 1;
        height: auto;
        aspect-ratio: 390 / 382;
        margin: 0 4%;
        border-radius: 8px;
    }

    .panos-product__summary {
        order: 2;
        position: static;
        top: auto;
    }

    /* Figma mobile shows all thumbnails as a static grid — hide carousel nav */
    .panos-product__gallery-nav {
        display: none;
    }

    .panos-product__thumb-grid {
        order: 3;
        margin: 0 4%;
        gap: 4px;
    }

    .panos-product__gallery-video {
        order: 4;
        margin: 0 4%;
    }

    .panos-product-lightbox {
        top: var(--header-h-mobile);
        z-index: 850;
    }

    .panos-product-lightbox__stage {
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr) 62px;
        grid-template-rows: auto 54px auto auto;
        min-height: calc(100dvh - var(--header-h-mobile));
        padding: 0 0 120px;
    }

    .panos-product-lightbox__image-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
        width: 100%;
        height: auto;
     /*   aspect-ratio: 390 / 382; */
    }

    .panos-product-lightbox__close {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
        justify-self: end;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin: 12px 12px 0 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.92);
        color: var(--color-primary);
        z-index: 5;
    }

    .panos-product-lightbox__close span {
        width: 18px;
        height: 18px;
    }

    .panos-product-lightbox__close span::before,
    .panos-product-lightbox__close span::after {
        height: 1.4px;
    }

    .panos-product-lightbox__arrow {
        grid-row: 2;
        align-self: center;
        width: 121px;
        height: 10px;
        color: var(--color-gray-200);
    }

    .panos-product-lightbox__arrow--prev {
        grid-column: 1 / 3;
        justify-self: start;
        margin: 0 0 0 62px;
    }

    .panos-product-lightbox__arrow--next {
        grid-column: 2 / 4;
        justify-self: end;
        margin: 0 62px 0 0;
    }

    .panos-product-lightbox__count {
        grid-column: 1 / -1;
        grid-row: 3;
        align-self: start;
        justify-self: center;
        margin: 0;
        font-size: 16px;
        letter-spacing: 3.84px;
    }

    .panos-product-lightbox__thumbs {
        grid-column: 1 / -1;
        grid-row: 4;
        display: flex;
        gap: 4px;
        margin-top: 28px;
        padding: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .panos-product-lightbox__thumbs::-webkit-scrollbar {
        display: none;
    }

    .panos-product-lightbox__thumb {
        flex: 0 0 clamp(112px, 35.1vw, 137px);
        height: auto;
        aspect-ratio: 137 / 131;
    }

    .panos-product__summary-inner {
        position: static;
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 50px 4% 0;
    }

    .panos-product__side-actions {
        flex-direction: row;
        padding-top: 0;
    }

    .panos-product__title {
        font-size: 60px;
    }

    .product-interest {
        padding-top: 50px;
    }

    .product-interest__box {
        padding: 40px 4%;
    }

    .panos-product__lifestyle {
        min-height: 620px;
    }

    .panos-product__lifestyle h2 {
        font-size: 86px;
        letter-spacing: 18px;
    }
}

@media (max-width: 640px) {
    .shop-hero {
        height: 100vh;
    }

    .shop-hero__title {
        font-size: 30px;
        letter-spacing: 7px;
    }

    .shop-category-switcher h2 {
        font-size: 26px;
    }

    .shop-child-card__image img {
        opacity: 0.82;
    }

    .shop-products__toolbar {
        flex-direction: row;
        align-items: stretch;
    }

    .shop-products__price-controls {
        width: 100%;
    }

    .shop-products__price-input {
        width: 4.5ch;
        flex: 0 0 4.5ch;
        min-width: 0;
        /* Prevent iOS Safari from auto-zooming number fields on focus. */
        font-size: 16px;
    }

    .shop-products__overview {
        width: 100%;
    }

    .shop-products__per-page {
        justify-content: space-between;
        width: 100%;
    }

    .shop-products__viewed {
        font-size: 16px;
    }

    .product-interest h2 {
        font-size: 32px;
    }

    /* Single column on small screens */
    .shop-products__grid .shop-product-card,
    .shop-products__grid .shop-product-card:nth-child(8n + 1),
    .shop-products__grid .shop-product-card:nth-child(8n + 2) {
        grid-column: span 6;
    }

    .shop-product-card__media {
        height: auto;
    }

    .shop-product-card__title {
        font-size: 18px;
    }

    .shop-product-card__meta {
        flex-direction: row;
        align-items: flex-start;
        gap: 0;
    }

    .shop-product-card__meta>div:first-child {
        flex: 0 0 60%;
        max-width: 60%;
        min-width: 0;
        padding-right: 12px;
    }

    .shop-product-card__price {
        flex: 0 0 40%;
        max-width: 40%;
        min-width: 0;
        align-items: flex-end;
        text-align: right;
    }

    .shop-product-card__old {
        font-size: 16px;
    }

    .panos-product__breadcrumbs {
        margin-top: 0;
    }

    .panos-product__thumb {
        height: auto;
        aspect-ratio: 177 / 174;
    }

    .panos-product__summary-content {
        gap: 36px;
    }

    .panos-product__title {
        font-size: 46px;
    }

    .panos-product__price ins {
        font-size: 38px;
    }

    .panos-product__cart {
        flex-direction: column;
        align-items: flex-start;
    }

    .panos-product__add,
    .panos-product__cart--default .single_add_to_cart_button,
    .panos-product__contact,
    .product-interest__submit {
        width: min(350px, 100%);
    }

    .panos-product__contact {
        justify-content: center;
        padding: 0 54px 0 28px;
    }

    .panos-product__contact span {
        right: 18px;
    }

    .panos-product__call {
        flex-direction: column;
        align-items: flex-start;
        line-height: 1.3;
    }

    .product-interest textarea {
        min-height: 180px;
    }

    .panos-product__lifestyle {
        min-height: 420px;
    }

    .panos-product__lifestyle h2 {
        font-size: 48px;
        letter-spacing: 8px;
    }
}

@media (max-width: 420px) {
    .shop-brand-logos {
        --logo-gap: 16px;
        padding: 4px 0 16px;
    }

    .shop-brand-logos__inner {
        gap: 12px 16px;
    }

    .shop-brand-logos__item {
        flex: 1 1 calc((100% - 16px) / 2);
        min-width: 0;
        max-width: 170px;
    }
}

.panos-product__mobile-breadcrumbs {
    display: none;
}

@media (max-width: 991px) {
    body.single-product {
        --header-h-mobile: 213px;
    }

    /*body.single-product .site-nav__inner {
    gap: 24px;
    padding: 48px 0 20px;
  } */

    body.single-product .site-nav__products-btn.is-active::before,
    body.single-product .site-nav__links a.is-active::before {
        display: none;
    }

    body.single-product .woocommerce-notices-wrapper {
        width: var(--container-width-mobile);
        height: auto;
        margin: 16px auto 0;
        overflow: visible;
    }

    body.single-product .panos-product__breadcrumbs {
        display: none !important;
    }

    body.single-product .panos-product__mobile-breadcrumbs {
        position: fixed;
        top: 55px;
        left: 16px;
        z-index: 1001;
        display: flex;
        align-items: center;
        gap: 16px;
        max-width: calc(100vw - 32px);
        color: var(--color-black);
        font-family: var(--font-primary);
        font-size: 12px;
        font-weight: var(--font-weight-extralight);
        letter-spacing: 1.2px;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
        display: none;
    }

    body.single-product .panos-product__mobile-breadcrumbs a,
    body.single-product .panos-product__mobile-breadcrumbs span {
        color: inherit;
        text-decoration: none;
    }

    body.single-product .panos-product__mobile-breadcrumbs span[aria-hidden="true"] {
        color: var(--color-primary);
        font-size: 18px;
        line-height: 0;
    }

    body.single-product .panos-product__main {
        padding-bottom: 0;
        width: 100%;
    }

    body.single-product .panos-product__main-image {
        width: 100%;
        margin: 0;
        border-radius: 0;
        background: var(--color-off-white);
        aspect-ratio: 390 / 382;
    }

    body.single-product .panos-product__main-image img {
        object-fit: cover;
        object-position: center;
    }

    body.single-product .panos-product__summary-inner {
        display: block;
        min-height: 0;
        padding: 72px 0 0;
    }

    body.single-product .panos-product__summary-content {
        display: block;
        /* width: min(529px, calc(100% - 57px)); */
        margin: 0 auto;
        max-width: var(--container-width-mobile);
    }

    body.single-product .panos-product__side-actions {
        display: none;
    }

    body.single-product .panos-product__title {
        margin: 0 0 32px;
        font-size: 56px;
        font-weight: var(--font-weight-medium);
        letter-spacing: 0;
        line-height: 0.72;
    }

    body.single-product .panos-product__copy {
        gap: 24px;
        width: 100%;
        margin: 0 0 48px;
    }

    body.single-product .panos-product__subtitle,
    body.single-product .panos-product__dimension>p,
    body.single-product .panos-product__call {
        font-size: 18px;
        font-weight: var(--font-weight-light);
        letter-spacing: 0.54px;
        line-height: 1;
    }

    body.single-product .panos-product__description {
        width: min(326px, 100%);
        max-width: 326px;
        color: var(--color-gray-700);
        font-size: 14px;
        font-weight: var(--font-weight-extralight);
        letter-spacing: 0.42px;
        line-height: 1.4;
    }

    body.single-product .panos-product__description p,
    body.single-product .panos-product__description p:not(:last-child) {
        margin: 0;
    }

    body.single-product .panos-product__desc-list li {
        margin: 0 0 6px;
    }

    body.single-product .panos-product__desc-list li:last-child {
        margin-bottom: 0;
    }

    body.single-product .panos-product__price {
        gap: 24px;
        margin: 0 0 48px;
    }

    body.single-product .panos-product__price del {
        font-size: 28px;
        letter-spacing: 0.84px;
        line-height: 1;
    }

    body.single-product .panos-product__price ins {
        font-size: 48px;
        letter-spacing: 0;
        line-height: 1;
    }

    body.single-product .panos-product__dimension {
        gap: 24px;
        width: min(315px, 100%);
        margin: 0 0 48px;
    }

    body.single-product .panos-product__dimension>div {
        gap: 20px;
    }

    body.single-product .panos-product__actions {
        gap: 12px;
        width: min(326px, 100%);
        margin: 0 0 48px;
    }

    body.single-product .panos-product__contact {
        justify-content: center;
        width: 326px;
        max-width: 100%;
        height: 47px;
        padding: 0;
        font-size: 14px;
        letter-spacing: 1.4px;
    }

    body.single-product .panos-product__contact span {
        display: none;
    }

    body.single-product .panos-product__cart {
        flex-direction: row;
        align-items: flex-start;
        gap: 8px;
        max-width: 100%;
    }

    body.single-product .panos-product__qty {
        flex: 0 0 80px;
        width: 80px;
        height: 48px;
    }

    body.single-product .panos-product__qty select {
        padding: 0 34px 0 24px;
        font-size: 20px;
        letter-spacing: 0.6px;
    }

    body.single-product .panos-product__add,
    body.single-product .panos-product__cart--default .single_add_to_cart_button {
        flex: 1;
        width: 219px;
        height: 48px;
        padding: 0 12px;
        font-size: 14px;
        letter-spacing: 1.4px;
    }

    body.single-product .panos-product__call {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        margin: 0;
    }

    body.single-product .panos-product__phones {
        flex-direction: column;
        gap: 4px;
    }

    body.single-product .panos-product__phone--secondary::before {
        content: none;
    }

    body.single-product .panos-product__thumb-grid {
        width: 92%;
        margin: 48px auto 0;
        gap: 4px;
    }

    body.single-product .panos-product__thumb {
        height: auto;
        aspect-ratio: 177 / 174;
    }

    body.single-product .panos-product__thumb:nth-child(5) {
        grid-column: 1 / -1;
        aspect-ratio: 358 / 350;
    }

    body.single-product .panos-product__thumb:nth-child(n + 6) {
        display: none;
    }

    body.single-product .panos-product__thumb.is-active::after {
        border-color: transparent;
    }

    body.single-product .panos-product__gallery-video {
        width: min(358px, calc(100% - 32px));
        margin: 4px auto 0;
        aspect-ratio: 358 / 350;
    }

    body.single-product .product-interest {
        padding-top: 16px;
        padding-bottom: 0;
    }

    body.single-product .product-interest__box {
        width: min(358px, calc(100% - 32px));
        padding: 40px 16px;
    }

    body.single-product .product-interest h2 {
        margin: 0 0 32px;
        font-size: 24px;
        font-weight: var(--font-weight-extralight);
        letter-spacing: 0;
        line-height: 1.3;
    }

    body.single-product .product-interest__form {
        gap: 16px;
    }

    body.single-product .product-interest__row {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    body.single-product .product-interest input,
    body.single-product .product-interest textarea {
        font-size: 14px;
        letter-spacing: 0.42px;
        line-height: 1.4;
    }

    body.single-product .product-interest input {
        height: 32px;
        padding: 0 24px;
    }

    body.single-product .product-interest textarea {
        min-height: 218px;
        padding: 24px;
    }

    body.single-product .product-interest__note,
    body.single-product .product-interest__feedback {
        font-size: 12px;
        letter-spacing: 0.36px;
        line-height: 1.4;
    }

    body.single-product .product-interest__submit {
        width: min(350px, calc(100% + 8px));
        height: 48px;
        margin-top: 24px;
        align-self: center;
        font-size: 16px;
        letter-spacing: 1.6px;
    }

    body.single-product .panos-product__lifestyle {
        min-height: 844px;
        padding: 0;
    }

    body.single-product .panos-product__lifestyle h2 {
        font-size: 40px;
        font-weight: var(--font-weight-thin);
        letter-spacing: 12px;
        line-height: 1;
    }

    .shop-child-card:nth-child(1) .shop-child-card__image img {
        right: -43%;
        top: -30%;
        width: 180%;
        height: 150%;
    }

    .shop-child-card:nth-child(2) .shop-child-card__image img {
        right: 0;
        top: -6%;
        width: 140%;
        height: 112%;
    }

    .shop-child-card:nth-child(3) .shop-child-card__image img {
        right: -74%;
        top: -22%;
        width: 189%;
        height: 148%;
    }


           .term-74 .shop-child-card:nth-child(3) .shop-child-card__image img {
        right: -4%;
            top: -12%;
            width: 114%;
            height: 155%;
        }


    .shop-child-card:nth-child(4) .shop-child-card__image img {
        right: -96%;
        top: -1%;
        width: 223%;
        height: 132%;
    }

.term-74 .shop-child-card:nth-child(1) .shop-child-card__image img {
    right: -8%;
    top: -16%;
    width: 188%;
    height: 150%;
}


                .term-74 .shop-child-card:nth-child(2) .shop-child-card__image img {
            right: 0;
            top: 3%;
            width: 140%;
            height: 112%;
        }
        
.term-81 .shop-child-card:nth-child(1) .shop-child-card__image img {
    right: -14%;
    top: -18%;
    width: 180%;
    height: 150%;
}

           .term-81 .shop-child-card:nth-child(2) .shop-child-card__image img {
            right: 0;
            top: 2%;
            width: 140%;
            height: 112%;
        }

          .term-81 .shop-child-card:nth-child(4) .shop-child-card__image img {
            right: -13%;
            top: -6%;
            width: 124%;
            height: 132%;
        }

                      .term-77 .shop-child-card:nth-child(1) .shop-child-card__image img {
                            right: -22%;
                            top: -18%;
                            width: 227%;
                            height: 150%;
                        }

           .term-77 .shop-child-card:nth-child(2) .shop-child-card__image img {
            right: 0;
            top: 1%;
            width: 130%;
            height: 112%;
        }


.term-77 .shop-child-card:nth-child(3) .shop-child-card__image img {
    right: -9%;
    top: -17%;
    width: 117%;
    height: 148%;
}

}


/* Mobile product lightbox: full viewport above fixed chrome; preserve the original internal layout. */
@media (max-width: 991px) {
    body.product-lightbox-open {
        padding-bottom: 0;
    }

    body.product-lightbox-open .panos-product-lightbox {
        inset: 0;
        top: 0;
        z-index: 1100;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        overflow: hidden auto;
        overscroll-behavior: contain;
    }

    body.product-lightbox-open .panos-product-lightbox__stage {
        position: relative;
        box-sizing: border-box;
        min-height: 100vh;
        min-height: 100dvh;
        padding: 0;
        align-content: center;
    }

    body.product-lightbox-open .panos-product-lightbox__close {
        position: absolute;
        grid-area: auto;
        top: max(12px, env(safe-area-inset-top));
        right: 12px;
        margin: 0;
        z-index: 7;
    }

    body.admin-bar.product-lightbox-open .panos-product-lightbox__stage {
        padding-top: 46px;
    }

    body.admin-bar.product-lightbox-open .panos-product-lightbox__close {
        top: calc(46px + max(12px, env(safe-area-inset-top)));
    }
}

@media (min-width: 783px) and (max-width: 991px) {
    body.admin-bar.product-lightbox-open .panos-product-lightbox__stage {
        padding-top: 32px;
    }

    body.admin-bar.product-lightbox-open .panos-product-lightbox__close {
        top: calc(32px + max(12px, env(safe-area-inset-top)));
    }
}

@media (min-width: 1921px) {
	.shop-product-card__media{
		height:82vh;
	}

	.shop-product-card__image-link img {
		object-fit: cover;
	}


.shop-products__grid .shop-product-card:nth-child(8n + 1) .shop-product-card__media .shop-product-card__image-link img, .shop-products__grid .shop-product-card:nth-child(8n + 2) .shop-product-card__media .shop-product-card__image-link img {
	object-fit: contain;
	}

}

@media (min-width: 1330px) and (max-width: 1920px) {

.shop-product-card__media{
		height:62vh;
	}
	
.shop-product-card__image-link img {
		object-fit: cover;
	}


.shop-products__grid .shop-product-card:nth-child(8n + 1) .shop-product-card__media .shop-product-card__image-link img, .shop-products__grid .shop-product-card:nth-child(8n + 2) .shop-product-card__media .shop-product-card__image-link img {
	object-fit: contain;
	}


}




/* Dynamic product-gallery arrow states. */
.panos-product__gallery-arrow,
.panos-product-lightbox__arrow {
    color: #EC2027;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.panos-product__gallery-arrow svg path,
.panos-product-lightbox__arrow svg path {
    stroke: currentColor !important;
    opacity: 1;
}

.panos-product__gallery-arrow:disabled,
.panos-product-lightbox__arrow:disabled {
    color: #B3B3B3;
    cursor: default;
    pointer-events: none;
    opacity: 1;
}

.panos-product__gallery-arrow:disabled svg path,
.panos-product-lightbox__arrow:disabled svg path {
    opacity: 0.5;
}


/* Keep arrow state colors above later responsive theme rules. */
body.single-product .panos-product__gallery-arrow:not(:disabled),
body.single-product .panos-product-lightbox__arrow:not(:disabled) {
    color: #EC2027 !important;
}

body.single-product .panos-product__gallery-arrow:disabled,
body.single-product .panos-product-lightbox__arrow:disabled {
    color: #B3B3B3 !important;
}
