.gc-card{display:block}
.gc-card__label,.gc-redeem__label{display:block;margin-bottom:.4rem;font-weight:600}
.gc-card__input,.gc-card__select,.gc-card__textarea,.gc-redeem__input{max-width:100%;width:100%;box-sizing:border-box;border:1px solid #B7C7CC;border-radius:4px;background:#fff;color:#1F2933;padding:.75rem}
.gc-card>*+*{margin-top:1rem}
.gc-card-gallery{display:block;box-sizing:border-box;width:100%;min-width:0;background:#F3ECDD;overflow:hidden;position:relative;margin:0}
.gc-card-gallery__frame{display:block;width:100%;aspect-ratio:1/1;box-sizing:border-box;background:#F3ECDD;overflow:hidden}
.gc-card-gallery__image{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;margin:0;padding:0}
body.wc-gc-is-gift-product .woocommerce-product-gallery{display:none!important}
.gc-card-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(1.5rem,4vw,4rem)!important;align-items:start!important}
.gc-card-layout>.gc-card-gallery{grid-column:1;min-width:0}
.gc-card-layout>.summary{grid-column:2;min-width:0}
.gc-card__input--signoff[hidden]{display:none}
.gc-redeem{margin:1.25rem 0;padding:1.25rem;border:1px solid #D5E7EA;border-radius:6px;background:#F7FCFD}
.gc-redeem__title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700;color:#0B3D54}
.gc-redeem__intro{margin:0 0 1rem}
.gc-redeem__form{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}
.gc-redeem__label{flex:0 0 100%}
.gc-redeem__input{flex:1 1 18rem;min-width:0}
.gc-redeem__button{border:0;border-radius:4px;padding:.75rem 1rem;cursor:pointer;font-weight:700;background:#00B0BD;color:#fff}
.gc-redeem__button:hover{opacity:.9}.gc-redeem__button:disabled{opacity:.55;cursor:wait}.gc-redeem__message{margin:.75rem 0 0}.gc-redeem__remove{display:inline-block;margin-top:.75rem}.gc-redeem__applied{margin:0;padding:.8rem 1rem;background:#E4F4F6;border-radius:4px}
.gc-redeem--block{margin:0;padding:1rem 0;border:0;background:transparent}.gc-redeem--block .gc-redeem__form{align-items:flex-end}.gc-redeem--block .gc-redeem__controls{display:flex;gap:.65rem;align-items:center;flex:1 1 100%}.gc-redeem--block .gc-redeem__controls .gc-redeem__input{flex:1 1 auto}.gc-redeem--block .gc-redeem__label{margin-bottom:.35rem}.gc-redeem--block .gc-redeem__remove{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}.gc-redeem--block .gc-redeem__message{color:#0B3D54}
.wc-gc-repeat{margin:2em 0}.wc-gc-repeat__trigger{display:block;width:100%;padding:1.25rem 1.5rem;border:1px solid #D5E7EA;border-radius:6px;background:#E4F4F6;color:#0B3D54;text-align:left;font:inherit;font-weight:700;cursor:pointer}.wc-gc-repeat__trigger:hover{border-color:#00B0BD}.wc-gc-modal[hidden]{display:none!important}.wc-gc-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:1rem!important;box-sizing:border-box!important}.wc-gc-modal[aria-hidden="true"]{visibility:hidden}.wc-gc-modal[aria-hidden="false"]{visibility:visible}.wc-gc-modal__backdrop{position:absolute;inset:0;background:rgba(11,61,84,.48)}.wc-gc-modal__dialog{position:relative;z-index:1;width:min(32rem,100%);box-sizing:border-box;padding:2rem;background:#fff;color:#1F2933;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.2);text-align:center}.wc-gc-modal__dialog h2{margin:0 2rem .75rem;color:#0B3D54}.wc-gc-modal__dialog p{margin:0 0 1.5rem}.wc-gc-modal__close{position:absolute;top:.65rem;right:.7rem;border:0;background:none;color:#0B3D54;font-size:1.8rem;line-height:1;cursor:pointer;padding:.25rem}.wc-gc-modal__cta{display:inline-block;padding:.8rem 1.25rem;border-radius:4px;background:#00B0BD;color:#fff;text-decoration:none;font-weight:700}.wc-gc-modal__cta:hover{opacity:.9}
@media(max-width:700px){.gc-card-layout{display:block!important}.gc-card-gallery{width:100%;margin-bottom:1.5rem}.gc-card-layout>.summary{width:100%}.gc-redeem__controls{flex-direction:column;align-items:stretch!important}.gc-redeem__button{width:100%}}
/* Alpha 12.3: Etch product-template integration. The supplied Etch markup uses
   .w4e-product-info rather than the classic WooCommerce .summary wrapper. */
.wc-gc-is-gift-product .woocommerce-product-gallery{display:none!important}
.gc-card-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(1.5rem,4vw,4rem)!important;align-items:start!important}
.gc-card-layout>.gc-card-gallery{grid-column:1;grid-row:1;min-width:0}
.gc-card-layout>.w4e-product-info{grid-column:2;grid-row:1;min-width:0}
.gc-card-gallery{display:block!important;width:100%!important;min-width:0!important;background:#F3ECDD!important;overflow:hidden!important;position:relative!important;margin:0!important;box-sizing:border-box!important}
.gc-card-gallery__frame{display:block!important;width:100%!important;aspect-ratio:1/1!important;box-sizing:border-box!important;background:#F3ECDD!important;overflow:hidden!important}
.gc-card-gallery__image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important}
@media(max-width:700px){.gc-card-layout{display:block!important}.gc-card-layout>.gc-card-gallery{width:100%!important;margin-bottom:1.5rem!important}.gc-card-layout>.w4e-product-info{width:100%!important}}


/* V4.0.3: plugin-owned design gallery with a persistent desktop preview. */
.gc-card-gallery { position: sticky!important; top: 2rem!important; align-self: start!important; overflow: visible!important; }
.gc-card-gallery__frame { border-radius: 6px!important; }
.gc-card-gallery__thumbs { display: grid!important; grid-template-columns: repeat(5,minmax(0,1fr))!important; gap: .55rem!important; margin-top: .75rem!important; }
.gc-card-gallery__thumb { display: block!important; width: 100%!important; padding: 0!important; border: 2px solid transparent!important; border-radius: 5px!important; background: #fff!important; cursor: pointer!important; overflow: hidden!important; line-height: 0!important; box-sizing: border-box!important; }
.gc-card-gallery__thumb img { display: block!important; width: 100%!important; aspect-ratio: 1/1!important; height: auto!important; object-fit: cover!important; margin: 0!important; }
.gc-card-gallery__thumb:hover { border-color: #00B0BD!important; }
.gc-card-gallery__thumb.is-active { border-color: #0B3D54!important; box-shadow: 0 0 0 1px #0B3D54!important; }
.gc-card-gallery__thumb:focus-visible { outline: 3px solid #00B0BD!important; outline-offset: 2px!important; }
@media(max-width:700px){
  .gc-card-gallery { position: static!important; top: auto!important; }
  /* Mobile: use a simple horizontal flex strip. A grid with auto-flow:column can
     create empty implicit tracks when themes/Etch alter the gallery width, which
     can leave the first thumbnails looking like narrow vertical bars. */
  .gc-card-gallery__thumbs {
    display: flex!important;
    flex-wrap: nowrap!important;
    align-items: flex-start!important;
    justify-content: flex-start!important;
    gap: .4rem!important;
    width: 100%!important;
    max-width: 100%!important;
    overflow-x: auto!important;
    overflow-y: hidden!important;
    padding: 0 0 .4rem!important;
    margin-top: .75rem!important;
    box-sizing: border-box!important;
    -webkit-overflow-scrolling: touch!important;
    scrollbar-width: thin;
  }
  .gc-card-gallery__thumbs > .gc-card-gallery__thumb {
    flex: 0 0 clamp(4.25rem, 22vw, 5.5rem)!important;
    width: clamp(4.25rem, 22vw, 5.5rem)!important;
    max-width: clamp(4.25rem, 22vw, 5.5rem)!important;
  }
}


/* V4.0.8: theme-neutral add-to-cart layout.
   The gift fields are printed inside form.cart (woocommerce_before_add_to_cart_button).
   Elementor Pro's Add to Cart widget, and many themes, lay form.cart out as a single
   non-wrapping flex row, so the Gift details card sat in a narrow column and the
   quantity box and button stretched down the full height of the card.
   Here the card takes its own full-width row and the quantity and button sit
   underneath it at their normal height. Only direct children of form.cart are
   targeted, so the Etch template (where the card sits inside .quantity) is unchanged. */
form.cart:has(> .gc-card),
form.cart.wc-gc-form:not(.w4e-product__form){display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;row-gap:1rem!important}
form.cart > .gc-card{order:-1;flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 .5rem!important;box-sizing:border-box}
form.cart:has(> .gc-card) > .quantity,
form.cart:has(> .gc-card) > .single_add_to_cart_button{align-self:center!important;height:auto!important;min-height:0!important;margin-top:0!important;margin-bottom:0!important}
form.cart:has(> .gc-card) > .quantity{flex:0 0 auto!important}
form.cart:has(> .gc-card) > .single_add_to_cart_button{flex:0 1 auto!important}
form.cart:has(> .gc-card) > [class*="wc-stripe"],
form.cart:has(> .gc-card) > .wc-stripe-clear{flex:0 0 100%!important}
.gc-card__title{margin:0 0 .25rem;font-size:1.25rem;line-height:1.3}
.gc-card__select,.gc-card__input,.gc-card__textarea{font:inherit;min-height:2.75rem}
.gc-card__note{margin:0;font-size:.875rem;opacity:.8}

/* V4.0.8: card preview in place of the theme gallery (classic themes / Elementor). */
.gc-card-gallery--inline{position:static!important;top:auto!important;width:100%!important;max-width:100%!important}
.gc-card-gallery--above-form{margin-bottom:1.5rem!important}
