/* =========================================
   1. ORIGINAL THEME STYLES (PRESERVED)
   ========================================= */
.product { margin: 0; }
.product--no-media { max-width: 57rem; margin: 0 auto; }
.product__media-wrapper { padding-left: 0; position: relative; z-index: 1; }
.product__info-wrapper { padding-left: 0; padding-bottom: 0; position: relative; z-index: 2; }
.product__media-wrapper .slider-component .splide__slide img{ display: block; width: auto; max-width: 100%; max-height: 100%; margin: 0 auto; }
.product__media-wrapper .slider-component .splide__slide{ display: flex; justify-content: center; align-items: center; }

@media screen and (max-width: 749px) { .product-section { margin-top: 0; } }
@media screen and (min-width: 750px) {
  .product__info-container--sticky { position: sticky; top: 3rem; z-index: 2; }
  .product__info-wrapper { padding-left: 5rem; }
  /* Hide default theme arrows */
  .product__media-container .slider-buttons { display: none; }
}
@media screen and (min-width: 990px) {
  .product:not(.product--no-media):not(.featured-product) .product__media-wrapper { max-width: 55%; width: calc(55% - 1rem / 2); }
  .product:not(.product--no-media):not(.featured-product) .product__info-wrapper { padding-left: 4rem; max-width: 45%; width: calc(45% - 1rem / 2); }
  .product:not(.product--no-media) .product__info-container .product-form{ max-width: 450px; }
}

/* Product form */
.product-form { display: block; }
.product-form__input{ flex: 0 0 100%; padding: 0; margin: 0 0 1.2rem 0; min-width: fit-content; border: none; position: relative; display: flex; flex-wrap: wrap; }

.variants-selector-wrapper > div.product-form__input::after,
.selector-wrapper.product-form__input::after{ content: ''; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E"); height: 0.6rem; width: 1rem; pointer-events: none; position: absolute; bottom: 1.6rem; right: 1.5rem; }

variant-radios, variant-selects { display: block; }
.product-form__input--dropdown { margin-bottom: 1.6rem; }
.product-form__input .form__label { padding-left: 0; }
fieldset.product-form__input .form__label { margin-bottom: 0.2rem; }

.product-form__input input[type='radio'] { clip: rect(0, 0, 0, 0); overflow: hidden; position: absolute; height: 1px; width: 1px; }
.product-form__input input[type='radio'] + label { border: 0.2rem solid rgba(var(--color-foreground), 0.15); border-radius: 0.5rem; color: rgb(var(--color-foreground)); display: inline-block; margin: 0.7rem 0.5rem 0.2rem 0; padding: 1.5rem 2rem; font-size: 1.4rem; letter-spacing: 0.1rem; line-height: 1; text-align: center; transition: border var(--duration-short) ease; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; }
.product-form__input input[type='radio'] + label:hover { border-color: rgb(var(--color-foreground)); }
.product-form__input input[type='radio']:checked + label { border-color: rgba(var(--color-foreground), 1); }
.product-form__input input[type='radio']:disabled + label , .product-form__input input[type='radio'].disabled + label { opacity: 0.4; border-color: rgba(var(--color-foreground), 0.1); background-color: rgba(var(--color-foreground), 0.1); color: rgba(var(--color-foreground), 0.6); }
.product-form__input input[type='radio']:focus-visible + label { box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55); }
.product-form__input input[type='radio'].focused + label { box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55); }
.no-js .product-form__input input[type='radio']:focus:not(:focus-visible) + label { box-shadow: none; }

.variant-img-label-wrapper .variant-img-label + .label__text{ color: transparent; overflow: hidden; display: none; }
.product-form__input input[type='radio'] + .variant-img-label-wrapper{ position: relative; min-width: 60px; min-height: 60px; overflow: hidden; border-radius: 0.5rem; white-space: nowrap; }
.product-form__input .variant-img-label{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.product-form__input .select { max-width: 25rem; }
.product-form__submit { margin-top: 1rem; margin-bottom: 1rem; }
.no-js .product-form__submit.button--secondary { --color-button: var(--color-base-accent-1); --color-button-text: var(--color-base-solid-button-labels); --alpha-button-background: 1; }

/* Product info */
.product__info-container > * + * { margin: 1rem 0; }
.product__info-container .product-form, .product__info-container .product__description { margin: 2.5rem 0; }
.product__text { margin-bottom: 0; }
a.product__text { display: block; text-decoration: none; color: rgba(var(--color-foreground), 0.75); }
.product__text.caption-with-letter-spacing { text-transform: uppercase; }
.product__title { word-break: break-word; margin-top: 1rem; margin-bottom: 1rem; }
.product__title + .product__text.caption-with-letter-spacing { margin-top: -1.5rem; }
.product__text.caption-with-letter-spacing + .product__title { margin-top: 0; }
.product__accordion .accordion__content { padding: 0 1rem; }
.product .price { align-items: flex-start; }
.product .price--on-sale dl { margin-bottom: 0.5rem; }
.product .price--sold-out .price__badge-sale { display: none; }
@media screen and (min-width: 750px) { .product__info-container .price--on-sale .price-item--regular { font-size: 1.6rem; } .product__info-container > *:first-child { margin-top: 0; } }
.product__description-title { font-weight: 600; }
.product--no-media .product__title, .product--no-media .product__text, .product--no-media noscript .product-form__input { text-align: center; }
.product--no-media noscript .product-form__input, .product--no-media .share-button { max-width: 100%; }
.product--no-media fieldset.product-form__input, .product--no-media .product-form__quantity, .product--no-media .product-form__input--dropdown, .product--no-media .share-button, .product--no-media .product__view-details, .product--no-media .store-availability-container, .product--no-media .product-form { display: flex; align-items: center; justify-content: center; text-align: center; }
.product--no-media .product-form > .form { max-width: 30rem; width: 100%; }
.product--no-media .product-form__quantity, .product--no-media .product-form__input--dropdown { flex-direction: column; max-width: 100%; }
.product--no-media fieldset.product-form__input { flex-wrap: wrap; margin: 0 auto 1.2rem auto; }
.product--no-media .product__info-container > modal-opener { display: block; text-align: center; }
.product--no-media .product-popup-modal__button { padding-right: 0; }
.product--no-media .price { justify-content: center; }
.product--no-media .product__info-wrapper { padding-left: 0; }

/* Product media */
@media screen and (max-width: 749px) {
  .product__media-list { margin-left: -2.5rem; padding-bottom: 2rem; margin-bottom: 3rem; width: calc(100% + 4rem); }
  .product__media-wrapper .slider-component { margin-left: -1.5rem; margin-right: -1.5rem; margin-top: 2rem; }
  .slider.slider--mobile.product__media-list { padding-bottom: 0; margin-bottom: 0.5rem; }
  .slider.product__media-list::-webkit-scrollbar { height: 0.2rem; width: 0.2rem; }
  .product__media-list::-webkit-scrollbar-thumb { background-color: rgb(var(--color-foreground)); }
  .product__media-list::-webkit-scrollbar-track { background-color: rgba(var(--color-foreground), 0.2); }
  .product__media-list .product__media-item { width: calc(100% - 3rem); }
  .slider.product__media-list .product__media-item:first-of-type { padding-left: 1.5rem; }
}
@media screen and (min-width: 750px) {
  .product__media-item:first-child { width: 100%; }
  .product-media-modal__content > .product__media-item--variant.product__media-item--variant { display: none; }
  .product-media-modal__content > .product__media-item--variant:first-child { display: block; }
}
.product__media-item--variant { display: none; }
.product__media-item--variant:first-child { display: block; }
@media screen and (min-width: 750px) and (max-width: 989px) {
  .product__media-list .product__media-item:first-child { padding-left: 0; }
  .product__media-list .product__media-item { padding: 0 0 0.5rem; width: 100%; }
}
.product__media-icon .icon { width: 1.2rem; height: 1.4rem; }
.product__media-icon { background-color: rgb(var(--color-background)); border-radius: 50%; border: 0.1rem solid rgba(var(--color-foreground), 0.1); color: rgb(var(--color-foreground)); display: flex; align-items: center; justify-content: center; height: 3rem; width: 3rem; position: absolute; left: 1.5rem; top: 1.5rem; z-index: 1; transition: color var(--duration-short) ease, opacity var(--duration-short) ease; }
.product__media-video .product__media-icon { opacity: 1; }
.product__modal-opener--image .product__media-toggle:hover { cursor: zoom-in; }
.product__modal-opener:hover .product__media-icon { border: 0.1rem solid rgba(var(--color-foreground), 0.1); }
@media screen and (min-width: 750px) { .grid__item.product__media-item--full { width: 100%; } }
@media screen and (min-width: 990px) {
  .product__modal-opener .product__media-icon { opacity: 0; }
  .product__modal-opener:hover .product__media-icon, .product__modal-opener:focus .product__media-icon { opacity: 1; }
}
.product__media-item > * { display: block; position: relative; }
.product__media-toggle { background-color: transparent; border: none; cursor: pointer; display: block; margin: 0; padding: 0; position: absolute; top: 0; left: 0; z-index: 2; height: 100%; width: 100%; }
.image-modal-wrapper.is-active, .product-media-modal { background-color: rgb(var(--color-background)); height: 100%; position: fixed; top: 0; left: 0; width: 100%; visibility: hidden; opacity: 0; z-index: -1; }
.image-modal-wrapper.is-active, .product-media-modal[open] { visibility: visible; opacity: 1; z-index: 110000; }
.image-modal-wrapper.is-active { display: flex; align-items: center; justify-content: center; }
.product-media-modal__dialog { display: flex; align-items: center; height: 100vh; }
.product-media-modal__content { max-height: 100vh; width: 100%; overflow: auto; }
.product-media-modal__content > *:not(.active), .product__media-list .deferred-media { display: none; }
@media screen and (min-width: 750px) {
  .product-media-modal__content { padding-bottom: 2rem; }
  .product-media-modal__content > *:not(.active) { display: block; }
  .product__modal-opener:not(.product__modal-opener--image) { display: none; }
  .product__media-list .deferred-media { display: block; }
}
.product__media-list .deferred-media, .product__media-list .product__modal-opener { border: 0.1rem solid rgba(var(--color-foreground), 0.04); }
.product-media-modal__content > * { display: block; height: auto; margin: auto; border: 0.1rem solid rgba(var(--color-foreground), 0.04); }
.product-media-modal__content .media { background: none; }
.product-media-modal__model { width: 100%; }
.js-image-modal-close, .product-media-modal__toggle { background-color: rgb(var(--color-background)); border: 0.1rem solid rgba(var(--color-foreground), 0.5); border-radius: 50%; color: rgba(var(--color-foreground), 0.9); display: flex; align-items: center; justify-content: center; cursor: pointer; right: 2rem; padding: 1.2rem; position: fixed; z-index: 2; top: 2rem; width: 4rem; }
.product-media-modal__content .deferred-media { width: 100%; }
@media screen and (min-width: 750px) {
  .product-media-modal__content { padding: 2rem 11rem; }
  .product-media-modal__content > * { width: 100%; }
  .product-media-modal__content > * + * { margin-top: 2rem; }
  .product-media-modal__toggle { right: 5rem; top: 2.2rem; }
}
@media screen and (min-width: 990px) {
  .product-media-modal__content { padding: 2rem 11rem; }
  .product-media-modal__content > * + * { margin-top: 1.5rem; }
  .product-media-modal__content { padding-bottom: 1.5rem; }
  .product-media-modal__toggle { right: 5rem; }
}
.product-media-modal__toggle:hover { color: rgba(var(--color-foreground), 0.75); }
.product-media-modal__toggle .icon { height: auto; margin: 0; width: 2.2rem; }

/* Product popup */
.product-popup-modal { box-sizing: border-box; opacity: 0; position: fixed; visibility: hidden; z-index: -1; margin: 0 auto; top: 0; left: 0; overflow: auto; width: 100%; background: rgba(var(--color-foreground), 0.2); height: 100%; }
.product-popup-modal[open] { opacity: 1; visibility: visible; z-index: 101; }
.product-popup-modal__content { background-color: rgb(var(--color-background)); overflow: auto; height: 80%; margin: 0 auto; left: 50%; transform: translateX(-50%); margin-top: 5rem; width: 92%; position: absolute; top: 0; padding: 0 1.5rem 0 3rem; }
@media screen and (min-width: 750px) { .product-popup-modal__content { padding-right: 1.5rem; margin-top: 10rem; width: 70%; padding: 0 3rem; } }
.product-popup-modal__content img { max-width: 100%; }
@media screen and (max-width: 749px) { .product-popup-modal__content table { display: block; max-width: fit-content; overflow-x: auto; white-space: nowrap; margin: 0; } }
.product-popup-modal__opener { display: inline-block; }
.product-popup-modal__button { font-size: 1.6rem; padding-right: 1.3rem; padding-left: 0; height: 4.4rem; text-underline-offset: 0.3rem; text-decoration-thickness: 0.1rem; transition: text-decoration-thickness var(--duration-short) ease; }
.product-popup-modal__button:hover { text-decoration-thickness: 0.2rem; }
.product-popup-modal__content-info { padding-right: 4.4rem; }
.product-popup-modal__content-info > * { height: auto; margin: 0 auto; max-width: 100%; width: 100%; }
@media screen and (max-width: 749px) { .product-popup-modal__content-info > * { max-height: 100%; } }
.product-popup-modal__toggle { background-color: rgb(var(--color-background)); border: 0.1rem solid rgba(var(--color-foreground), 0.1); border-radius: 50%; color: rgba(var(--color-foreground), 0.55); display: flex; align-items: center; justify-content: center; cursor: pointer; position: sticky; padding: 1.2rem; z-index: 2; top: 1.5rem; width: 4rem; margin: 0 0 0 auto; }
.product-popup-modal__toggle:hover { color: rgba(var(--color-foreground), 0.75); }
.product-popup-modal__toggle .icon { height: auto; margin: 0; width: 2.2rem; }
.product-form__buttons { margin-top: 2.5rem; }
.product-form__buttons .btn { display: flex; width: 100%; }
.product__description.rte { margin-top: 3rem; }
.float-bottom-modal { position: fixed; top: initial; bottom: 1px; left: 1px; right: 1px; width: auto; max-width: none; min-width: none; z-index: 100; padding: 20px 10px 30px; }
.slider-component .icons-wrapper { position: absolute; top: 20px; right: 15px; }
.button-circle { display: flex; line-height: 1; color: #fff; background: rgba(0, 0, 0, 0.5); border-radius: 50%; align-items: center; justify-content: center; width: 30px; height: 30px; }
.button-circle svg, .button-circle svg.icon-share { margin: 0; }
.float-bottom-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 5; }
.float-bottom-modal-overlay::after { top: 0 !important; }
.btn--radius { border-radius: 4rem; }
.product_upsell-info { margin: 1.5rem 0; }
.product_upsell-box { margin-bottom: 1.2rem; }
.product_upsell-box, .product_upsell-icon { display: flex; align-items: center; }
.product_upsell-icon { width: 24px; }
.product_upsell-icon + .product_upsell-text { margin-left: 1.5rem; }

/* The Modal (background) */
.modal { position: fixed; z-index: 3; padding-top: 70px; padding-bottom: 30px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.6); }
.modal-content { margin: auto; display: block; width: auto; height: auto; max-width: 100%; max-height: 1000px; animation-name: zoom; animation-duration: 0.6s; }
#caption { margin: auto; display: block; width: 80%; max-width: 700px; text-align: center; color: #ccc; padding: 10px 0; height: 150px; }
@keyframes zoom { from { transform: scale(0) } to { transform: scale(1) } }
.product-modal-close { position: absolute; top: 15px; right: 35px; color: #000; font-size: 40px; font-weight: bold; transition: 0.3s; }
.product-modal-close:hover, .product-modal-close:focus { color: #bbb; text-decoration: none; cursor: pointer; }
@media only screen and (max-width: 700px) { .modal-content { width: auto; height: auto; max-width: 90%; max-height: 700px; } .product-modal-close { right: 20px; } }
.show { display: block; }
.hide { display: none; }

/* ========================================================
   2. VISUAL LAYERING (Badge, Stars, Cards)
   ======================================================== */

:root {
  --brand-primary: #0056b3; 
  --brand-primary-light: #e6f0fa;
  --text-dark: #111827;
  --text-gray: #4b5563;
  --bg-gray: #f9fafb;
}

/* === CRITICAL: HIDE ORIGINAL INPUTS BUT KEEP THEM ACTIVE === */
.variants-selector-wrapper {
  visibility: hidden;
  height: 0;
  width: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

/* Badge */
.custom-badge { display: inline-flex; align-items: center; gap: 0.5rem; background-color: #f3e8ff; color: #7e22ce; padding: 0.5rem 1rem; border-radius: 9999px; font-size: 1.2rem; font-weight: 500; margin-bottom: 1rem; }

/* Stars */
.star-rating-wrapper { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.star-icon { color: #facc15; fill: currentColor; width: 1.6rem; height: 1.6rem; }

/* === VARIANT CARDS (RESPONSIVE GRID) === */
.custom-variant-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
@media screen and (min-width: 990px) { .custom-variant-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; } }

.custom-variant-item { position: relative; height: 100%; }
.variant-card-label { display: flex; justify-content: flex-start; align-items: center; padding: 12px 15px; border: 2px solid #e5e7eb; border-radius: 12px; background: #fff; cursor: pointer; transition: all 0.2s ease; position: relative; height: 100%; box-sizing: border-box; }
.variant-card-input { display: none; }
.variant-card-input:checked + .variant-card-label { border-color: #0056b3; background-color: #f0f7ff; }
.variant-text-group { display: flex; align-items: center; font-weight: 600; color: #333; width: 100%; }
.radio-indicator { width: 18px; height: 18px; border: 2px solid #d1d5db; border-radius: 50%; margin-right: 12px; position: relative; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.variant-card-input:checked + .variant-card-label .radio-indicator { border-color: #0056b3; }
.variant-card-input:checked + .variant-card-label .radio-indicator::after { content: ''; width: 10px; height: 10px; background-color: #0056b3; border-radius: 50%; }
.variant-price-group { font-weight: 600; color: #0056b3; }

/* Custom Quantity */
.custom-qty-container { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.qty-btn-custom { width: 45px; height: 45px; background: #fff; border: 2px solid #e5e7eb; border-radius: 8px; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s; }
.qty-btn-custom:hover { border-color: #0056b3; color: #0056b3; }
.qty-input-custom { width: 60px; text-align: center; font-size: 18px; font-weight: 600; border: none; background: transparent; -moz-appearance: textfield; }
.qty-input-custom::-webkit-outer-spin-button, .qty-input-custom::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Add to Cart */
.product-form__submit.custom-design { background-color: var(--brand-primary); color: white; width: 100%; padding: 1.2rem; border-radius: 0.8rem; font-weight: 600; font-size: 1.6rem; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 1rem; transition: background 0.2s; }
.product-form__submit.custom-design:hover { background-color: #004494; }

/* Trust Badges */
.trust-badges-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; padding-top: 2rem; border-top: 1px solid #e5e7eb; margin-top: 2rem; }
.trust-badge-item { text-align: center; display: flex; flex-direction: column; align-items: center; }
.trust-badge-icon { width: 3.2rem; height: 3.2rem; color: var(--brand-primary); margin-bottom: 0.5rem; }
.trust-badge-text { font-size: 1.1rem; color: var(--text-gray); }

/* Addons */
.section-wrapper { padding: 4rem 0; }
.bg-gray { background-color: #f9fafb; }
.text-center { text-align: center; }
.section-title { font-size: 2.8rem; color: var(--text-dark); margin-bottom: 2rem; font-weight: 600; }
.addons-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-top: 2rem; }
.addon-card { background: white; border: 1px solid #e5e7eb; border-radius: 1rem; padding: 1.5rem; display: flex; align-items: center; gap: 1.5rem; }
.addon-img { width: 80px; height: 80px; border-radius: 0.5rem; object-fit: cover; }
.addon-btn { background: var(--brand-primary); color: white; border: none; width: 3rem; height: 3rem; border-radius: 0.5rem; cursor: pointer; margin-left: auto; }

/* === 3. GALLERY FIX (Force Horizontal Layout) === */
.product__media-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* CLEAN SLATE: Remove theme styling influence */
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.product__media-list::-webkit-scrollbar { display: none; }

.product__media-item {
  /* FORCE 100% WIDTH */
  min-width: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-shrink: 0;
  scroll-snap-align: start;
  /* CLEAN SLATE: Remove theme styling influence */
  margin: 0 !important;
  padding: 0 !important;
}

/* === ARROW OVERLAY STYLES (NEW) === */
.image-modal-wrapper { position: relative; }

/* Force buttons to display and overlay */
.slider-buttons {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex !important; /* Force visible */
  justify-content: space-between; /* Pushes to edges */
  width: 100%; /* Must match width of container */
  padding: 0; /* Remove padding to hit absolute edge */
  pointer-events: none; /* Let clicks pass through empty space */
  z-index: 100; /* High Z-index to sit on top of image */
  margin-top: 0 !important; /* Override theme margin */
}

/* Individual Button Style */
.slider-button {
  pointer-events: auto; /* Re-enable clicks */
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: all 0.2s;
  color: #333;
  z-index: 101; /* Ensure higher than container */
}

.slider-button:hover {
  background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.slider-button svg {
    width: 1.4rem;
    height: 1.4rem;
}

/* Hide counter if present inside buttons container */
.slider-counter {
  display: none;
}

/* === PAGINATION DOTS === */
.slider-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  width: 100%;
  pointer-events: auto;
  position: relative;
  z-index: 6;
}

.slider-dot {
  width: 8px;
  height: 8px;
  background-color: #d1d5db;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
}

.slider-dot:hover {
  background-color: #9ca3af;
}

.slider-dot.active {
  background-color: var(--brand-primary, #0056b3);
  transform: scale(1.2);
}

/* === SECTION WRAPPERS === */
.section-wrapper { padding: 6rem 0; }
.bg-gray { background-color: #f9fafb; }
.border-top { border-top: 1px solid #e5e7eb; }
.text-center { text-align: center; }
.section-title { font-size: 2.8rem; color: var(--text-dark); margin-bottom: 3rem; font-weight: 600; }
.subsection-title { font-size: 1.8rem; color: var(--text-dark); margin-bottom: 1.5rem; font-weight: 500; }

/* === FREQUENTLY BOUGHT TOGETHER (Grid) === */
.addons-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
  gap: 2rem; 
  max-width: 1000px;
  margin: 0 auto;
}

.addon-card { 
  background: white; 
  border: 1px solid #e5e7eb; 
  border-radius: 12px; 
  padding: 1.5rem; 
  display: flex; 
  align-items: center; 
  gap: 1.5rem; 
  transition: box-shadow 0.2s;
}
.addon-card:hover { box-shadow: 0 4px 6px rgba(0,0,0,0.05); }

.addon-img { width: 70px; height: 70px; border-radius: 8px; object-fit: cover; }
.addon-info { flex-grow: 1; }
.addon-title { font-weight: 600; font-size: 1.4rem; margin-bottom: 0.2rem; }
.addon-price { color: var(--brand-primary); font-weight: 600; }
.addon-btn { 
  background: var(--brand-primary); 
  color: white; 
  border: none; 
  width: 3.5rem; 
  height: 3.5rem; 
  border-radius: 8px; 
  cursor: pointer; 
  font-size: 2rem; 
  display: flex; 
  align-items: center; 
  justify-content: center;
  transition: background 0.2s;
  padding: 0; /* Important reset */
}
.addon-btn:hover { background-color: #004494; }

/* === FEATURES & SPECS (2-Column Layout) === */
.features-specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .features-specs-grid { grid-template-columns: 1fr; gap: 3rem; }
}

/* Features List (Left) */
.features-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; }
.feature-item { 
  display: flex; 
  align-items: flex-start; 
  gap: 1.2rem; 
  background: white; 
  padding: 1.2rem; 
  border-radius: 8px;
  border: 1px solid transparent; /* Align visually */
}
.check-icon { 
  color: var(--brand-primary); 
  width: 20px; 
  height: 20px; 
  flex-shrink: 0; 
  display: flex;
  align-items: center;
}
.check-icon svg { width: 100%; height: 100%; fill: currentColor; }

/* Specs Box (Right) */
.specs-box { 
  background: white; 
  border-radius: 12px; 
  padding: 2rem; 
  border: 1px solid #e5e7eb;
}
.spec-row { 
  display: flex; 
  justify-content: space-between; 
  padding: 1rem 0; 
  border-bottom: 1px solid #f3f4f6; 
}
.spec-row:last-child { border-bottom: none; }
.spec-label { color: #6b7280; font-size: 1.4rem; }
.spec-value { color: #111827; font-weight: 500; font-size: 1.4rem; text-align: right; }
