/* Commerce uses the Frog palette while the plugin owns booking and payment logic. */
/* Elementor replaces preview widgets after Woo's gallery initializer has run. */
.elementor-editor-active .frog-commerce-content .woocommerce-product-gallery { opacity: 1 !important; }
.elementor-editor-active .frog-commerce-content .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image ~ .woocommerce-product-gallery__image { display: none; }
.frog-site .navigation { gap: 22px; position: relative; }
.frog-header-tools { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.frog-header-tools :is(.site-header__wishlist, .frog-header-cart, summary) { display: inline-flex; align-items: center; justify-content: center; position: relative; width: 42px; height: 44px; color: var(--ink); border-radius: 6px; cursor: pointer; }
.frog-header-tools svg { display: block; flex-shrink: 0; }
.frog-header-tools :is(.site-header__wishlist, .frog-header-cart, summary):hover { background: var(--pale); }
.frog-header-tools .site-header__account { color: var(--ink); border-color: var(--ink); white-space: nowrap; }
.frog-header-tools :is(.site-header__wishlist-count, .frog-header-cart__count) { position: absolute; top: 0; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 10px; background: var(--lime); color: var(--ink); font-size: 10px; line-height: 17px; text-align: center; }
.frog-site [hidden] { display: none !important; }
.frog-header-search { position: static; }
.frog-header-search summary { list-style: none; }
.frog-header-search summary::-webkit-details-marker { display: none; }
.frog-header-search summary:focus-visible { outline: 3px solid #60a733; outline-offset: 3px; }
.frog-header-search__panel { position: absolute; top: calc(100% + 12px); right: 0; z-index: 100; width: min(380px, 88vw); padding: 22px; background: var(--paper); border: 1px solid #dce5d4; border-radius: 10px; box-shadow: 0 14px 36px #073b2b24; }
.frog-product-search { width: 100%; max-width: 650px; text-align: left; }
.frog-product-search label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.frog-product-search__fields { display: flex; gap: 8px; }
.frog-product-search input[type=search] { min-width: 0; flex: 1; width: 100%; border: 1px solid #bdcbb5; padding: 12px 14px; border-radius: 4px; background: white; color: var(--ink); font: inherit; }
.frog-product-search input:focus-visible { outline: 2px solid #50982c; outline-offset: 2px; }
.frog-product-search .button { padding: 12px 20px; flex-shrink: 0; }
.frog-catalog-intro { margin-bottom: 40px; }
.frog-catalog-intro h1 { font-size: clamp(36px, 5vw, 60px); letter-spacing: -2px; overflow-wrap: anywhere; }
.frog-catalog-empty { padding: 40px; border: 1px solid #dce5d4; border-radius: 10px; background: var(--pale); }
.frog-catalog-empty h2 { font-size: clamp(26px, 4vw, 36px); }
.frog-catalog-empty p { max-width: 600px; margin-bottom: 24px; }
.frog-site .cards article { position: relative; }
.frog-site .frog-service-card h3 { font-size: 23px; line-height: 1.3; letter-spacing: normal; overflow-wrap: break-word; }
.frog-site .cards article > .stx-wishlist-toggle { position: absolute; z-index: 2; right: 14px; top: 14px; width: 42px; height: 42px; background: white; color: var(--ink); border: 1px solid #dce5d4; border-radius: 50%; }
.frog-site .cards article > .stx-wishlist-toggle--active { background: var(--lime); }
.frog-site .stx-wishlist { --stx-wishlist-accent: #50982c; }
.frog-site .stx-wishlist__empty-cta { display: inline-flex; padding: 14px 22px; background: var(--lime); color: var(--ink); border-radius: 4px; }
.frog-site.woocommerce-cart .inner-title > h1, .frog-site.woocommerce-checkout .inner-title > h1, .frog-site.woocommerce-account .inner-title > h1 { font-size: clamp(36px, 5vw, 56px); margin-bottom: 32px; }
.frog-site :is(a.button, button.button, input.button) { background: var(--lime); color: var(--ink); border-radius: 4px; padding: 14px 22px; font-size: 14px; line-height: 1.4; }
.frog-site :is(a.button, button.button, input.button):hover { background: #98ec40; color: var(--ink); }
.frog-site .woocommerce :is(input.input-text, textarea, select) { border: 1px solid #bdcbb5; border-radius: 4px; padding: 12px; color: var(--ink); font: inherit; max-width: 100%; }
.frog-site .woocommerce :is(.cart_totals, .stx-cart-checkout-section, form.login, form.register) { background: white; border: 1px solid #dce5d4; border-radius: 10px; padding: 24px; }
.frog-site .woocommerce .cart_totals h2, .frog-site .woocommerce .stx-cart-checkout-section h3 { font-size: 26px; letter-spacing: -1px; }
.frog-site .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.frog-site .woocommerce .stx-cart-checkout-section { margin-top: 24px; }
.frog-site .woocommerce :is(.woocommerce-info, .woocommerce-message) { border-top-color: #50982c; }
.frog-site .woocommerce :is(.woocommerce-info, .woocommerce-message)::before { color: #50982c; }
.frog-site .woocommerce .return-to-shop { margin: 24px 0 40px; }
/* Product names must not inherit the tight tracking of large page headings. */
.frog-site ul.products li.product .woocommerce-loop-product__title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    overflow-wrap: break-word;
    margin: 0;
    padding: 12px 0 8px;
}
.frog-site ul.products li.product .price { color: #387522; font-size: 15px; line-height: 1.5; }
@media (max-width: 580px) {
    .frog-site ul.products li.product .woocommerce-loop-product__title { font-size: 18px; }
}
@media (max-width: 1100px) {
    .frog-site .navigation { flex-wrap: wrap; height: auto; padding-top: 18px; padding-bottom: 16px; gap: 16px; }
    .frog-site .navigation nav { order: 4; width: 100%; justify-content: center; }
}
@media (max-width: 580px) {
    .frog-site .navigation { position: relative; gap: 12px; }
    .frog-site .navigation > .button { margin-left: auto; }
    .frog-header-tools { order: 3; width: 100%; margin: 0; justify-content: center; gap: 10px; }
    .frog-header-search { position: static; }
    .frog-header-search__panel { top: calc(100% + 4px); right: 0; width: 100%; }
    .frog-site .navigation nav { justify-content: space-between; }
    .frog-catalog-empty { padding: 25px; }
    .frog-product-search__fields { flex-wrap: wrap; }
    .frog-product-search input[type=search] { flex-basis: 160px; }
    .frog-site .woocommerce :is(.cart_totals, .stx-cart-checkout-section) { padding: 18px; }
}
.frog-reservation-cart { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.frog-reservation-cart > * { min-width: 0; }
.frog-reservation-cart .stx-cart-items__head { display: grid; grid-template-columns: 1fr 80px 120px; gap: 16px; padding: 15px; font-size: 12px; font-weight: 700; border-bottom: 1px solid #dce5d4; }
.frog-reservation-cart .stx-cart-item { display: grid; grid-template-columns: 22px 64px minmax(0, 1fr) 65px minmax(95px, auto); gap: 12px; align-items: start; padding: 24px 0; border-bottom: 1px solid #dce5d4; }
.frog-reservation-cart .stx-cart-item__media img { width: 64px; height: 72px; border-radius: 6px; object-fit: cover; }
.frog-reservation-cart .stx-cart-item__title { margin: 0 0 10px; font-size: 20px; line-height: 1.2; letter-spacing: -.5px; }
.frog-reservation-cart .stx-cart-item__main { font-size: 13px; overflow-wrap: anywhere; }
.frog-reservation-cart .stx-cart-item__stat { font-size: 13px; }
.frog-reservation-cart .stx-cart-item__stat-label { display: block; color: #61705b; font-size: 11px; }
.frog-reservation-cart .stx-cart-item__stat-value { font-weight: 600; }
.frog-reservation-cart .frog-cart-actions { margin-top: 24px; }
.frog-reservation-cart .stx-cart-item--package-child { display: block; padding: 16px 0; }
.frog-site .frog-stx-booking { --stx-booking-accent: #387522; --stx-booking-accent-soft: #e8f4df; --stx-booking-ink: #073b2b; }
@media (max-width: 1100px) {
    .frog-reservation-cart { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
    .frog-reservation-cart .stx-cart-items__head { display: none; }
    .frog-reservation-cart .stx-cart-item { grid-template-columns: 22px 56px minmax(0, 1fr); gap: 10px; }
    .frog-reservation-cart .stx-cart-item__media img { width: 56px; height: 64px; }
    .frog-reservation-cart .stx-cart-item__stat { grid-column: 3; }
    .frog-reservation-cart .stx-cart-package__head { flex-wrap: wrap; }
}

/* Keep checkout fields in their own flow; the contact form has a separate grid. */
.frog-site .woocommerce form .form-row { display: block; padding: 0; margin-bottom: 18px; }
.frog-site .woocommerce form .form-row label { display: block; font-size: 14px; line-height: 1.5; margin-bottom: 6px; }
.frog-site .woocommerce form .woocommerce-input-wrapper { display: block; width: 100%; }
.frog-site .woocommerce form .form-row :is(input.input-text, textarea, select) { width: 100%; min-height: 46px; background: #fff; }
.frog-site .woocommerce form .form-row :is(input, textarea, select):focus-visible { outline: 2px solid #387522; outline-offset: 2px; }
.frog-site .woocommerce form .form-row .checkbox { display: flex; align-items: baseline; gap: 10px; }
.frog-site .woocommerce form .form-row :is(input[type=checkbox], input[type=radio]) { width: auto; min-height: 0; flex-shrink: 0; }
.frog-site .woocommerce #payment { background: var(--paper); border: 1px solid #dce5d4; border-radius: 8px; }
.frog-site .woocommerce #payment .place-order { display: block; padding: 20px; }
.frog-site .woocommerce #payment #place_order { display: block; float: none; width: 100%; margin-top: 20px; min-height: 48px; background: var(--lime); color: var(--ink); border: 0; }
.frog-site .woocommerce #payment #place_order:hover { background: #98ec40; }
.frog-site .woocommerce #payment .woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.6; }
.frog-site .woocommerce .stx-cart-terms__text { min-width: 0; }
.frog-site .woocommerce .stx-cart-terms__link { color: var(--ink); text-decoration: underline; }
.frog-site .stx-wishlist-toggle { color: var(--ink); }
.frog-site .stx-wishlist-toggle--active { background: var(--lime); }
.frog-site .frog-footer-legal { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.frog-site .frog-footer-legal a:hover { text-decoration: underline; }
.frog-site .inner-title > h1 { font-size: clamp(32px, 5vw, 56px); letter-spacing: -1.5px; overflow-wrap: anywhere; }
@media (max-width: 580px) {
    .frog-site .woocommerce form :is(.form-row-first, .form-row-last) { width: 100%; float: none; }
    .frog-site .woocommerce #payment .place-order { padding: 16px; }
}

/* Product detail: override Woo's float widths inside the theme's grid. */
.frog-site.woocommerce .frog-woo div.product { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 36px 48px; }
.frog-site.woocommerce .frog-woo div.product::before,
.frog-site.woocommerce .frog-woo div.product::after { display: none; }
.frog-site.woocommerce .frog-woo div.product > :is(div.images, div.summary) { float: none; width: 100%; min-width: 0; max-width: none; margin: 0; }
.frog-site.woocommerce .frog-woo div.product > div.images { grid-column: 1; grid-row: 1; }
.frog-site.woocommerce .frog-woo div.product > div.summary { grid-column: 2; grid-row: 1 / span 2; position: relative; }
.frog-site.woocommerce .frog-woo div.product .product_title { padding-right: 46px; font-size: clamp(28px, 2.6vw, 36px); line-height: 1.18; letter-spacing: -.8px; margin: 0 0 22px; }
.frog-site.woocommerce .frog-woo .summary > .stx-wishlist-single-toggle { position: absolute; top: 2px; right: 0; margin: 0; }
.frog-site.woocommerce .frog-woo .summary > .price:empty { display: none; }
.frog-site.woocommerce .frog-woo .summary .product_meta { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 18px; border-top: 1px solid #dce5d4; font-size: 12px; color: #61705b; }
.frog-site.woocommerce .frog-woo .woocommerce-product-gallery .flex-viewport { border-radius: 14px; background: var(--pale); }
.frog-site.woocommerce .frog-woo .woocommerce-product-gallery__image > a { display: block; aspect-ratio: 4 / 3; }
.frog-site.woocommerce .frog-woo .woocommerce-product-gallery__image a > img { width: 100%; height: 100%; object-fit: cover; }
.frog-site.woocommerce .frog-woo div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.frog-site.woocommerce .frog-woo div.images .flex-control-thumbs li { float: none; width: 100%; }
.frog-site.woocommerce .frog-woo div.images .flex-control-thumbs img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 7px; border: 2px solid transparent; opacity: .7; }
.frog-site.woocommerce .frog-woo div.images .flex-control-thumbs img.flex-active { border-color: #50982c; opacity: 1; }
.frog-site.woocommerce .frog-woo .summary form.cart { margin: 0 0 22px; }
.frog-site.woocommerce .frog-woo .frog-stx-booking { --stx-booking-accent: #387522; --stx-booking-accent-soft: #e8f4df; --stx-booking-border: #dce5d4; --stx-booking-muted: #61705b; --stx-booking-ink: #073b2b; --stx-booking-font: Arial, Helvetica, sans-serif; padding: 24px; margin: 0 0 14px; border-radius: 14px; box-shadow: none; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__title { font-size: 20px; font-weight: 700; padding-bottom: 14px; margin-bottom: 18px; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__section { margin-bottom: 18px; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__label { font-size: 11px; letter-spacing: .7px; margin-bottom: 7px; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__label--spaced { margin-top: 14px; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__hint { font-size: 12px; line-height: 1.5; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__input:not(.select2-hidden-accessible),
.frog-site.woocommerce .frog-stx-booking .stx-passenger-row__qty { min-height: 44px; }
.frog-site.woocommerce .frog-stx-booking .stx-passenger-row__name { font-size: 14px; }
.frog-site.woocommerce .frog-stx-booking .stx-passenger-row__price { font-size: 14px; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__textarea { min-height: 76px; resize: vertical; }
.frog-site.woocommerce .frog-stx-booking .stx-booking-fields__total { border-radius: 8px; padding: 14px 16px; }
.frog-site.woocommerce .frog-woo .single_add_to_cart_button { width: 100%; float: none; min-height: 50px; justify-content: center; }
.frog-site.woocommerce .frog-woo div.product > .woocommerce-tabs { grid-column: 1; grid-row: 2; width: 100%; min-width: 0; margin: 0; }
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs { display: flex; gap: 24px; padding: 0; margin: 0 0 24px; border-bottom: 1px solid #dce5d4; }
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs::before,
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs li::before,
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs li { border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: 0 0 8px; margin: 0; background: transparent; }
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #50982c; }
.frog-site.woocommerce .frog-woo div.product .woocommerce-tabs ul.tabs li a { font-size: 14px; color: var(--ink); }
.frog-site.woocommerce .frog-woo .woocommerce-Tabs-panel { color: #405647; font-size: 16px; line-height: 1.75; margin: 0; }
/* Imported rich text carries inline typography; normalize presentation only. */
.frog-site .frog-woo .woocommerce-Tabs-panel--description :is(p, li, span, div, font) { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; letter-spacing: normal !important; color: inherit !important; }
.frog-site .frog-woo .woocommerce-Tabs-panel--description p { margin: 0 0 18px !important; text-align: left !important; }
.frog-site .frog-woo .woocommerce-Tabs-panel--description :is(h2, h3, h4) { font-family: inherit !important; font-size: 23px !important; line-height: 1.35 !important; letter-spacing: -.3px !important; color: var(--ink) !important; margin: 28px 0 16px !important; }
.frog-site .frog-woo .woocommerce-Tabs-panel--description > h2:first-child { margin-top: 0 !important; }
.frog-site .frog-woo .related { margin-top: 28px; padding-top: 32px; border-top: 1px solid #dce5d4; }
.frog-site .frog-woo .related > h2 { font-size: 30px; letter-spacing: -.7px; margin-bottom: 28px; }

/* A single card system for catalog and related adventures. */
.frog-site.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; clear: both; margin: 0 0 24px; }
.frog-site.woocommerce ul.products::before, .frog-site.woocommerce ul.products::after { display: none; }
.frog-site.woocommerce ul.products li.product { display: flex; flex-direction: column; float: none; clear: none; width: 100%; min-width: 0; margin: 0; padding: 0 0 22px; position: relative; overflow: hidden; background: #fff; border: 1px solid #dce5d4; border-radius: 14px; }
.frog-site.woocommerce ul.products li.product > .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; }
.frog-site.woocommerce ul.products li.product a img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; }
.frog-site.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 20px 22px 12px; font-size: 20px; line-height: 1.4; font-weight: 700; letter-spacing: -.2px; }
.frog-site.woocommerce ul.products li.product .price { display: block; padding: 0 22px; margin: auto 0 18px; color: #387522; font-size: 16px; font-weight: 600; }
.frog-site.woocommerce ul.products li.product .price small { font-size: 11px; font-weight: 400; }
.frog-site.woocommerce ul.products li.product > .button { align-self: stretch; display: flex; align-items: center; justify-content: center; margin: 0 22px; min-height: 44px; }
.frog-site.woocommerce ul.products li.product .stx-wishlist-toggle { top: 12px; right: 12px; width: 38px; height: 38px; border: 1px solid #dce5d4; color: var(--ink); box-shadow: 0 2px 8px #073b2b12; }
.frog-site.woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.frog-site.woocommerce .woocommerce-ordering select { min-height: 42px; padding: 8px 32px 8px 14px; background: white; border: 1px solid #dce5d4; border-radius: 7px; color: var(--ink); font: inherit; font-size: 13px; }
.frog-site.woocommerce .woocommerce-result-count { padding-top: 10px; font-size: 14px; color: #61705b; }

/* Reservation cards: separate trip information from passengers and pricing. */
.frog-site .frog-reservation-cart { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 30px; }
.frog-site .frog-reservation-cart .stx-cart-items { display: grid; gap: 20px; }
.frog-site .frog-reservation-cart .stx-cart-items__head { display: none; }
.frog-site .frog-reservation-cart .stx-cart-item:not(.stx-cart-item--package-child) { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 24px; border: 1px solid #dce5d4; border-radius: 14px; background: #fff; }
.frog-site .frog-reservation-cart .stx-cart-item__remove { position: absolute; top: 12px; right: 12px; }
.frog-site .frog-reservation-cart .stx-cart-item__remove a { width: 28px; height: 28px; font-size: 22px; line-height: 26px; color: #61705b !important; }
.frog-site .frog-reservation-cart .stx-cart-item__remove a:hover { color: #fff !important; background: #983b2c; }
.frog-site .frog-reservation-cart .stx-cart-item__media { grid-column: 1; grid-row: 1; }
.frog-site .frog-reservation-cart .stx-cart-item__media img { width: 96px; height: 104px; border-radius: 8px; object-fit: cover; }
.frog-site .frog-reservation-cart .stx-cart-item__main { grid-column: 2; grid-row: 1; min-width: 0; }
.frog-site .frog-reservation-cart .stx-cart-item__title { padding-right: 20px; font-size: 21px; line-height: 1.35; letter-spacing: -.3px; }
.frog-site .frog-reservation-cart .stx-cart-item-edit__link { padding: 8px 11px; min-height: 36px; text-transform: none; letter-spacing: 0; font-size: 12px; border-color: #bdcbb5; color: var(--ink); }
.frog-site .frog-reservation-cart .stx-cart-item__main dl.variation { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px 12px; margin: 18px 0 0; padding: 0; font-size: 13px; line-height: 1.5; }
.frog-site .frog-reservation-cart .stx-cart-item__main dl.variation :is(dt, dd) { float: none; clear: none; margin: 0; padding: 0; }
.frog-site .frog-reservation-cart .stx-cart-item__main dl.variation dt { color: #61705b; font-weight: 400; }
.frog-site .frog-reservation-cart .stx-cart-item__main dl.variation dd { font-weight: 600; }
.frog-site .frog-reservation-cart .stx-cart-item__main dl.variation dd p { margin: 0; }
.frog-site .frog-reservation-cart .stx-cart-item > .product-quantity { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; padding-top: 14px; border-top: 1px solid #e3eadf; }
.frog-site .frog-reservation-cart .stx-cart-item > .product-subtotal { grid-column: 1 / -1; min-width: 0; padding: 16px; border-radius: 8px; background: #f4f8ef; }
.frog-site .frog-reservation-cart .product-subtotal > .stx-cart-item__stat-label { display: none; }
.frog-site .frog-reservation-cart .stx-cart-item__stat-label { font-size: 13px; }
.frog-site .frog-reservation-cart .stx-cart-line-pricing__row { padding: 8px 0; }
.frog-site .frog-reservation-cart .stx-cart-line-pricing__label { font-size: 12px; text-transform: none; letter-spacing: 0; color: #52674e; }
.frog-site .frog-reservation-cart .stx-cart-line-pricing__value { margin: 0; color: var(--ink); font-size: 14px; }
.frog-site .frog-reservation-cart .stx-cart-line-pricing__total { font-size: 20px; color: var(--ink); }
.frog-site .frog-reservation-cart .stx-cart-line-pricing__row--rack-editable { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 55%); gap: 16px; }
.frog-site .frog-reservation-cart .stx-rack-price-form__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.frog-site .frog-reservation-cart .stx-rack-price-form__amount { flex: 1; min-width: 0; }
.frog-site .frog-reservation-cart .stx-rack-price-form__input { width: 100%; min-width: 0; height: 40px; }
.frog-site .frog-reservation-cart .stx-rack-price-form__apply { width: auto; height: 40px; padding: 8px 12px; font-size: 12px; }
.frog-site .frog-reservation-cart .stx-cart-item-pickup-time { margin-top: 18px; }
.frog-site .frog-reservation-cart .stx-cart-item-pickup-time__input:focus { border-color: #387522; box-shadow: 0 0 0 2px #38752220; }
.frog-site .frog-reservation-cart .cart-collaterals { float: none; width: 100%; }
.frog-site .frog-reservation-cart .cart_totals table { border: 0; margin-bottom: 0; border-collapse: collapse; }
.frog-site .frog-reservation-cart .cart_totals table :is(th, td) { border-top: 1px solid #e3eadf; padding: 13px 0; font-size: 14px; }
.frog-site .frog-reservation-cart .cart_totals table td { text-align: right; }
.frog-site .frog-reservation-cart .cart_totals .order-total :is(th, td) { font-size: 20px; color: var(--ink); }
.frog-site .frog-reservation-cart .woocommerce-billing-fields > h3 { margin-top: 0; }
.frog-site .woocommerce .stx-cart-terms { background: transparent; border: 0; padding: 12px 0; }
.frog-site .woocommerce .stx-cart-terms__text { font-size: 13px; line-height: 1.6; }

@media (max-width: 1100px) {
    .frog-site .frog-reservation-cart { grid-template-columns: 1fr; }
    .frog-site.woocommerce .frog-woo div.product { gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .frog-site.woocommerce .frog-woo .frog-stx-booking { padding: 18px; }
}
@media (max-width: 800px) {
    .frog-site.woocommerce .frog-woo div.product { grid-template-columns: minmax(0, 1fr); }
    .frog-site.woocommerce .frog-woo div.product > :is(div.images, div.summary, .woocommerce-tabs) { grid-column: 1; grid-row: auto; }
    .frog-site.woocommerce .frog-woo .summary { margin-top: 4px; }
    .frog-site.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 580px) {
    .frog-site.woocommerce ul.products { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .frog-site.woocommerce .frog-woo .frog-stx-booking { padding: 18px; }
    .frog-site.woocommerce .frog-woo div.product .product_title { font-size: 28px; }
    .frog-site .frog-reservation-cart .stx-cart-item:not(.stx-cart-item--package-child) { grid-template-columns: 64px minmax(0, 1fr); padding: 18px; gap: 16px 12px; }
    .frog-site .frog-reservation-cart .stx-cart-item__media img { width: 64px; height: 80px; }
    .frog-site .frog-reservation-cart .stx-cart-item__title { font-size: 18px; }
    .frog-site .frog-reservation-cart .stx-cart-item__main dl.variation { grid-template-columns: 1fr; gap: 3px; }
    .frog-site .frog-reservation-cart .stx-cart-item__main dl.variation dd { margin-bottom: 8px; }
    .frog-site .frog-reservation-cart .stx-cart-line-pricing__row--rack-editable { grid-template-columns: 1fr; gap: 6px; }
}
.frog-site.woocommerce .frog-woo .woocommerce-product-gallery__wrapper { display: flow-root; }
.frog-site.woocommerce .frog-woo .related ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.frog-site.woocommerce .frog-woo .related ul.products .woocommerce-loop-product__title { font-size: 17px; padding: 16px 18px 10px; }
.frog-site.woocommerce .frog-woo .related ul.products .price { padding: 0 18px; font-size: 14px; }
.frog-site.woocommerce .frog-woo .related ul.products li.product > .button { margin: 0 18px; padding: 12px; font-size: 13px; }
.frog-price-unavailable { font-size: 13px; color: #61705b; font-weight: 400; }
@media (max-width: 1100px) { .frog-site.woocommerce .frog-woo .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .frog-site.woocommerce .frog-woo .related ul.products { grid-template-columns: minmax(0, 1fr); } }
/* Keep trip and total together, then give checkout two balanced columns. */
.frog-site .frog-reservation-cart > .woocommerce-cart-form { grid-column: 1; }
.frog-site .frog-reservation-cart .cart-collaterals { display: contents; }
.frog-site .frog-reservation-cart .stx-cart-agency-cta { grid-column: 1 / -1; order: -1; margin: 0; }
.frog-site .frog-reservation-cart .stx-cart-agency-cta .woocommerce-info { background: #f0f6e9; border: 1px solid #dce5d4; border-radius: 8px; font-size: 13px; }
.frog-site .frog-reservation-cart .cart_totals { grid-column: 2; }
.frog-site .frog-reservation-cart .cart-collaterals > .woocommerce-notices-wrapper:empty { display: none; }
.frog-site .frog-reservation-cart .cart-collaterals > .woocommerce-notices-wrapper:not(:empty) { grid-column: 1 / -1; }
.frog-site .frog-reservation-cart .stx-cart-checkout-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.frog-site .frog-reservation-cart .stx-cart-checkout-form .stx-cart-checkout-section { margin: 0; }
@media (max-width: 1100px) {
    .frog-site .frog-reservation-cart .cart_totals { grid-column: 1; }
    .frog-site .frog-reservation-cart .stx-cart-checkout-form { grid-template-columns: minmax(0, 1fr); }
}
.frog-site .frog-reservation-cart .cart-collaterals::before,
.frog-site .frog-reservation-cart .cart-collaterals::after { display: none; }
.frog-site .woocommerce .woocommerce-info::before { content: 'i'; width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; line-height: 17px; text-align: center; }

.frog-site .frog-reservation-cart .stx-rack-price-form__amount:focus-within .stx-rack-price-form__input { border-color: #387522; outline: 2px solid #38752230; }

/* Secondary commerce pages share the catalog's typography and card styling. */
.frog-site .stx-wishlist { padding: 0; max-width: none; }
.frog-site .stx-wishlist__header { text-align: left; margin-bottom: 32px; }
.frog-site .stx-wishlist__title { color: var(--ink); font-size: clamp(36px, 5vw, 56px); line-height: 1.1; font-weight: 700; letter-spacing: -1.5px; margin-bottom: 16px; }
.frog-site .stx-wishlist__lead { color: #61705b; }
.frog-site .stx-wishlist__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.frog-site .stx-wishlist-card { border-color: #dce5d4; border-radius: 14px; box-shadow: none; }
.frog-site .stx-wishlist-card__body { padding: 20px 22px 22px; gap: 14px; }
.frog-site .stx-wishlist-card__title { font-size: 20px; line-height: 1.4; letter-spacing: normal; margin: 0; }
.frog-site .stx-wishlist-card__title a { color: var(--ink); }
.frog-site .stx-wishlist-card__title a:hover { color: #387522; }
.frog-site .stx-wishlist-card__price { color: #387522; font-size: 16px; }
.frog-site .stx-wishlist-card__actions { flex-direction: column; align-items: stretch; gap: 10px; }
.frog-site .stx-wishlist-card__book, .frog-site .stx-wishlist__empty-cta { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 18px; background: var(--lime); color: var(--ink); border-radius: 6px; font-size: 14px; font-weight: 600; }
.frog-site .stx-wishlist-card__book:hover, .frog-site .stx-wishlist__empty-cta:hover { background: #98ec40; }
.frog-site .stx-wishlist-card__remove { min-height: 42px; border-color: #bdcbb5; border-radius: 6px; color: #52674e; font-size: 13px; }
.frog-site .stx-wishlist-card__remove:is(:hover, :focus-visible) { color: var(--ink); border-color: #387522; background: #f0f8e9; }
.frog-site .stx-wishlist__empty { max-width: 560px; margin: 0; padding: 32px; border: 1px solid #dce5d4; border-radius: 14px; background: #fff; text-align: left; }
.frog-site .stx-wishlist__empty-text { color: #52674e; }
.frog-site .stx-wishlist__empty-cta { display: inline-flex; }
.frog-site.woocommerce-account:not(.logged-in) .inner-title { max-width: 560px; }
.frog-site.woocommerce-account:not(.logged-in) .woocommerce h2 { font-size: 24px; line-height: 1.3; letter-spacing: -.5px; margin-bottom: 18px; }
.frog-site.woocommerce-account .woocommerce form.login { margin-top: 0; padding: 28px; border-radius: 14px; }
.frog-site.woocommerce-account .woocommerce form.login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 4px 0 18px; font-weight: 400; }
.frog-site.woocommerce-account .woocommerce form.login .woocommerce-form-login__submit { float: none; width: 100%; margin: 0; min-height: 46px; }
.frog-site.woocommerce-account .woocommerce-LostPassword { margin-bottom: 0; font-size: 14px; }
.frog-site.woocommerce-account .woocommerce-LostPassword a { text-decoration: underline; text-underline-offset: 3px; }
.frog-site .frog-woo .woocommerce-Tabs-panel--description :is(h2, h3, h4):empty { display: none; }
.frog-site .woocommerce .cart-empty.woocommerce-info { background: #f0f6e9; color: var(--ink); border: 1px solid #dce5d4; border-radius: 10px; }
@media (max-width: 800px) {
    .frog-site .stx-wishlist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 580px) {
    .frog-site .stx-wishlist__grid { grid-template-columns: minmax(0, 1fr); }
    .frog-site .stx-wishlist__empty { padding: 24px; }
    .frog-site.woocommerce-account .woocommerce form.login { padding: 22px; }
    .frog-site.woocommerce .woocommerce-result-count { float: none; margin: 0 0 12px; padding: 0; }
    .frog-site.woocommerce .woocommerce-ordering { float: none; width: 100%; margin: 0 0 24px; }
    .frog-site.woocommerce .woocommerce-ordering select { width: 100%; min-height: 46px; }
}

/* Preserve a visible heart when the plugin sanitizes away its decorative SVG. */
.frog-site .stx-wishlist-toggle:not(:has(svg))::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
