/* Theme-only improvements; original photography is unchanged. */

.gggw-visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
h1.product__title, h1.collection-title {margin:0;font-family:inherit;font-weight:inherit;}
.item-heading .heading {overflow-wrap:anywhere;}
/* Reserve a separate header row for the mobile menu close control. */
@media (max-width:767px) {
  #menu-modal .menu-modal__header {justify-content:flex-end;min-height:44px;flex-shrink:0;margin-bottom:8px;padding:0 10px;}
  #menu-modal .menu-modal__header .modal__close {position:static;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:0;}
  #menu-modal .menu-modal__content {min-height:0;overflow-y:auto;}
}
.gggw-cart-status {font-size:13px;color:#9b1c1c;line-height:1.4;}
.gggw-cart-status:empty {display:none;}
.dynamic_item-del {appearance:none;background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;}
.dynamic_basket-order-button[aria-disabled="true"] {opacity:.55;cursor:wait;}
#size-modal .modal__container {background:#fff;}
.header, .header__content, .side-panel {transition-property:transform,opacity,background-color,color!important;}
button:focus-visible, a:focus-visible, input:focus-visible, [role="button"]:focus-visible {outline:2px solid #111;outline-offset:3px;}
.filter__reset-text, .filter-btn, .collection-title {color:#595959!important;opacity:1!important;}
@media (prefers-reduced-motion:reduce) {
  .header, .header__content, .side-panel, .modal__container, .splide__list, .marquee, .animate-logo {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Keep animated labels from repeatedly changing font metrics. */
.header__control-btn, .header__collections-link, .menu__title, .side-panel__title {transition-property:color,opacity,transform!important;}
.gggw-gift-denomination {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 14px;font:inherit;}
.gggw-gift-denomination select, .gggw-gift-denomination button {font:inherit;padding:9px 12px;border:1px solid #111;background:#fff;color:#111;}
.gggw-gift-denomination button {background:#111;color:#fff;cursor:pointer;}
.footer_subscripe-form-field::placeholder, .header__search-field::placeholder {color:#595959;opacity:1;}
.footer__menu-link, .footer__area-copyright a, .footer__area-copyright2 a {color:#595959!important;opacity:1!important;}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

.gggw-gift-page .sizes-button {display:none!important;}
/* Reserve the first desktop photo before variant controls initialize. */
.rev-coll-products .main-images:not(:has(.main-image.is-active)) .main-image.first-load {display:block;}
.product-item_title a {display:inline-flex;align-items:center;min-height:24px;}
.product-item .hover-image {min-width:44px;min-height:44px;}
.product-item .hover-images {transition-property:opacity!important;}
.product .option-label, .product .extra-info, .product .tabs__head-label,
.modal-sizes-extra-content, .modal-sizes-bottom-content-text {color:#595959!important;opacity:1!important;}
.product .tabs__head-item.is-active .tabs__head-label {color:#111!important;}
.product .option-value.is-radio {display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;}
.js-product-gallery-mobile .splide__pagination {display:flex!important;flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content!important;max-width:calc(100% - 20px);box-sizing:border-box;}
.js-product-gallery-mobile .splide__pagination > li {flex:0 1 12px;width:12px;min-width:0;margin:0;padding:0;}
.js-product-gallery-mobile .splide__pagination__page {display:inline-flex;align-items:center;justify-content:center;width:100%!important;height:24px!important;min-width:0;min-height:24px;margin:0!important;padding:0;background:transparent!important;border:0;border-radius:0;opacity:1;transform:none!important;}
.js-product-gallery-mobile .splide__pagination__page::before {content:'';width:10px;max-width:calc(100% - 2px);height:1px;background:#8a8a8a;}
.js-product-gallery-mobile .splide__pagination__page.is-active::before {background:#111;}
@media (max-width:768px) {
  .js-product-gallery-mobile {aspect-ratio:var(--img-ratio,.7);}
}
@media (max-width:767px) {
  .product-item .hover-images {bottom:40px;}
  .product-item .swiper-pagination {display:flex;align-items:center;justify-content:center;gap:0;}
  .product-item .swiper-pagination-bullet {display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:0!important;background:transparent!important;opacity:1;}
  .product-item .swiper-pagination-bullet::before {content:'';width:6px;height:6px;border-radius:50%;background:#8a8a8a;}
  .product-item .swiper-pagination-bullet-active::before {background:#111;}
}
/* Reserve the first desktop row while its deferred gallery is constructed. */
@media (min-width:769px) {
  .product__area-photo {min-height:100vh;}
}
.back-arrow-text {color:#595959!important;opacity:1!important;}
.breadcrumb-link {opacity:1!important;}
@media (max-width:768px) {
  .breadcrumb-wrapper .breadcrumb-link {justify-content:flex-start!important;gap:8px;}
  .breadcrumb-wrapper .back-arrow {display:inline-flex;flex-shrink:0;}
  .breadcrumb-wrapper .back-arrow-text {margin-left:0!important;}
}

@media (max-width:768px) {
  .product__gallery .main-list {display:none!important;}
}
/* Product text changes size/content during initialization; animate only opacity. */
.product-item_info {transition-property:opacity,transform!important;}

/* Feedback: keep collection cards free of photo-index strips. */
.rev-coll-products .swiper-pagination {display:none!important;}
@media (max-width:768px) {
  .rev-coll-products .product-item .hover-images {bottom:0!important;}
  .product > .sticky {position:static;top:auto;}
  .product .tabs {margin-top:24px;padding:0 10px;}
  .product .tabs__head {gap:0;align-items:stretch;justify-content:initial;border-bottom:1px solid #d6d6d6;}
  .product .tabs__head > .tabs__head-item {flex:1 1 0;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 4px;border-bottom:2px solid transparent;margin-bottom:-1px;text-align:center;line-height:1.3;}
  .product .tabs__head > .tabs__head-item.is-active {border-bottom-color:#111;}
  .product .tabs__head-label {font-size:13px;letter-spacing:.035em;white-space:normal;}
  .product .tabs__head-icon, .product .tabs__head-arrow {display:none;}
  .product .tabs__content {padding-top:12px;}
  .product .tabs__item {padding-top:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere;}
  .product .tabs__item .static-text {font-size:inherit;line-height:inherit;}
  .product .tabs__item p {margin-top:0;margin-bottom:8px;}
  .product .tabs__item p:last-child {margin-bottom:0;}
  .product .extra-info {margin-top:16px;max-width:none;font-size:13px;line-height:1.5;}
  .js-product-gallery-mobile:not(.is-active) {visibility:visible;}
  .js-product-gallery-mobile:not(.is-active) .splide__list {display:block;}
}
.rev-coll-products .product-item_prices {display:flex;align-items:center;justify-content:flex-end;min-height:24px;}
/* Keep desktop carousel arrows within the page's reserved side padding. */
@media (min-width:768px) {
  .js-promo-slider .splide__arrow--prev {left:calc(-1 * min(4rem,var(--layout-side-padding,40px)))!important;}
  .js-promo-slider .splide__arrow--next {right:calc(-1 * min(4rem,var(--layout-side-padding,40px)))!important;}
}

/* Keep gift-card amount and currency together beside a wrapping title. */
.gggw-gift-page .product-form__area-title {gap:12px;}
.gggw-gift-page .product__title {min-width:0;}
.gggw-gift-page .product-form__area-price {flex-shrink:0;max-width:none;white-space:nowrap;}

/* Delivery banner: double the 300px spacing requested by the store owner. */
.widget-type_system_widget_v4_marquee_1 {--marquee-gap:600px!important;}

/* Keep the crossed-out price in the current price column on product cards. */
.rev-coll-products .product-item_info > .product-old_price {grid-column:2;justify-self:end;white-space:nowrap;}
.viewed-products .rev-coll-products .product-item_info {grid-template-columns:minmax(0,1fr) max-content;column-gap:8px;}
