/*
Theme Name: Art For Life 4 Kids Theme
Template: salient
Version: 1.0
*/

p {
    padding-bottom: 47px !important;
}

.amelia-v2-booking #amelia-container p {
    padding-bottom: 0px !important;
}


/* HEADER */

/* .ascend #header-outer[data-full-width=true] #top nav ul #nectar-user-account a {
    border-left: 1px solid rgba(255, 255, 255, .77) !important;
}

.ascend #header-outer[data-full-width=true] #top nav ul .slide-out-widget-area-toggle a {
    border-left: 1px solid rgba(255, 255, 255, .77) !important;
}
*/

.bookbutton a span {
    color:#000000 !important;
}

/* Mobile Slide In Nav */

@media (max-width: 1746px) {
  /* Salient off-canvas / full-screen menu */
  #slide-out-widget-area .menu > li.mobile-cta > a {
    display: inline-block;
    background: #ffd31a;          /* same yellow as header button */
    color: #000000;
    padding: 10px 26px;
    border-radius: 999px;         /* pill shape */
    font-weight: 600;
    text-align: center;
    margin-top: 14px;
  }

  /* Hover / tap state */
  #slide-out-widget-area .menu > li.mobile-cta > a:hover {
    background: #e5bf12;          /* slightly darker yellow on hover */
    color: #000000;
  }

  /* Center them if your mobile menu text is left aligned */
  #slide-out-widget-area .menu > li.mobile-cta {
    text-align: left;             /* change to center if you prefer */
  }

  /* Remove excess spacing around CTA buttons */
  #slide-out-widget-area .menu > li.mobile-cta {
    margin: 14px 0 !important; /* was ~14–20px depending on theme */
    padding: 0 !important;
  }

  /* Style the buttons themselves */
  #slide-out-widget-area .menu > li.mobile-cta > a {
    display: inline-block;
    background: #ffd31a;
    color: #000;
    padding: 10px 22px;        /* slightly tighter padding */
    border-radius: 999px;
    font-weight: 600;
    text-align: center;
    margin: 0 !important;      /* remove extra spacing caused by <a> */
  }

  /* Hover state */
  #slide-out-widget-area .menu > li.mobile-cta > a:hover {
    background: #e5bf12;
  }

  /* Align buttons left like other menu items */
  #slide-out-widget-area .menu > li.mobile-cta {
    text-align: left;
  }
}


/* BUTTONS */

.nectar-button.large {
    font-size: 18px !important;
}

.nectar-inherit-border-radius, body[data-button-style^="rounded"] .nectar-button {
    border-radius:30px !important;
}


/* OFF CANVAS */

@media only screen and (max-width: 1746px) {
    body #slide-out-widget-area .inner-wrap > .inner .off-canvas-menu-container li > a {
        font-size: 20px !important;
        opacity:1;
    }
    body #slide-out-widget-area .inner-wrap > .inner .off-canvas-menu-container li > a:active {
        color:#ffc526;
    }
    #slide-out-widget-area.slide-out-from-right .off-canvas-menu-container li {
    margin-top: 12px;
    margin-bottom: 12px;
}
}

/* Default links a bit dimmer */
#slide-out-widget-area .off-canvas-menu-container li > a { opacity: .6; }

/* Active/current stands out */
#slide-out-widget-area .off-canvas-menu-container li.current-menu-item > a,
#slide-out-widget-area .off-canvas-menu-container li.current_page_item > a,
#slide-out-widget-area .off-canvas-menu-container li.current-menu-ancestor > a {
  opacity: 1;
  color:000000;       /* or your accent color */
  font-weight: 700;
}

/* Home Page Carousel */

.nectar-fancy-box[data-style=image_above_text_underline] .text {
    padding: 14px 0 0 0;
}

/* Home Slider */

.swiper-slide .content h2 {
font-size: 8vw !important;
line-height:8.6vw !important;
}

@media only screen and (max-width: 690px) {
    body .nectar-slider-wrap[data-fullscreen="true"] .swiper-slide .button.transparent a, body .nectar-slider-wrap[data-fullscreen="true"] .swiper-slide .button.transparent_2 a {
        font-size: 18px;
        padding: 8px 13px;
        letter-spacing: 0.5px;
    }
    .nectar-slider-wrap[data-fullscreen="true"] .swiper-slide .button a {
        font-size: 18px;
    }
        body .nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2 {
            font-size:47px !important;
            line-height:51px !important;
        }
}

/* Persistent Mobile Header Button Styling */
/* Match the desktop "Book Now" button styling in the mobile persistent header */
.nectar-mobile-only.mobile-header li.bookbutton > a,
.nectar-mobile-only.mobile-header li.bookbutton .menu-title-text {
    display: inline-block !important;
    background-color: #ffce00 !important;
    color: #000 !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

/* Sizing adjustments for the mobile persistent button */
.nectar-mobile-only.mobile-header li.bookbutton > a {
    padding: 10px 22px !important;   /* adjust this */
    font-size: 15px !important;      /* adjust this */
    line-height: 1 !important;
}

/* Keeps text aligned and centered */
.nectar-mobile-only.mobile-header li.bookbutton > a .menu-title-text {
    line-height: 1 !important;
    display: inline-block !important;
}

/* Align the button with icons in the header */
.nectar-mobile-only.mobile-header .inner {
    display: flex;
    align-items: center;
}

/* Disable ALL hover/active underline animations for the mobile persistent button */
.nectar-mobile-only.mobile-header li.bookbutton a,
.nectar-mobile-only.mobile-header li.bookbutton a *,
.nectar-mobile-only.mobile-header li.bookbutton .menu-title-text {
    background-image: none !important;
}

/* Disable Salient animated underline pseudo-elements */
.nectar-mobile-only.mobile-header li.bookbutton a:before,
.nectar-mobile-only.mobile-header li.bookbutton a:after,
.nectar-mobile-only.mobile-header li.bookbutton .nectar-animated-underline:before,
.nectar-mobile-only.mobile-header li.bookbutton .nectar-animated-underline:after,
.nectar-mobile-only.mobile-header li.bookbutton .menu-title-text:before,
.nectar-mobile-only.mobile-header li.bookbutton .menu-title-text:after {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    content: none !important;
}

/* Kill transform-based underline animation used by Salient */
.nectar-mobile-only.mobile-header li.bookbutton a .nectar-animated-underline {
    transform: none !important;
    height: 0 !important;
    border: none !important;
    display: none !important;
}


/* =========================
   SINGLE CAMP PRODUCT PAGE
   ========================= */

/* Target only camp products via post class */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

/* Hide the image column, make summary full width */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .woocommerce-product-gallery,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) div.images {
    display: none !important;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) div.summary {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Main camp title: red, larger, spacing below */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .product_title {
    color: #eb6a2c !important;
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
    margin-bottom: 40px !important;
    margin-top: 40px !important;
}

/* Sub-titles: Camp Dates, Camp Times, Camper Information, Number of Campers, Booking Type */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-single-section-title,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-heading,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-qty-heading,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .variations_form .label label {
    color: #005c86 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 10px 0 6px !important;
    padding-left: 0 !important;
}

/* Remove left gap on Booking Type label/column */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .variations_form .label,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) table.variations th.label {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Camp Dates text + spacing */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-single-dates-range {
    font-size: 1rem;
    margin-bottom: 18px;
}

/* Camp Times text slightly larger */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-single-times-list .camp-single-time-line {
    font-size: 1.05rem;
    margin: 2px 0;
}

/* Camper info block */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-details {
    margin-top: 0px !important;
    padding-top: 0px;
    border-top: 0px solid #eee;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-note {
    font-size: 1.02rem !important;
    margin-bottom: 10px;
}

/* Camper name rows */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-row {
    margin-bottom: 16px;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-field {
    margin-bottom: 8px;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-name-row label {
    display: block;
    font-size: 1.02rem !important;
    margin-bottom: 3px;
}

/* Quantity +/- buttons round & red */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .quantity .minus,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .quantity .plus {
    border-radius: 50% !important;
    background-color: #eb6a2c !important;
    color: #ffffff !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 30px !important;
    padding: 0 !important;
    font-weight: 700;
}

/* Center quantity number */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .quantity input.qty {
    max-width: 50px;
    text-align: center;
}

/* Add to cart button: blue pill */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .single_add_to_cart_button,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .single_add_to_cart_button.button,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .single_add_to_cart_button.button.alt {
    background-color: #005c86 !important;
    border-color: #005c86 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 10px 26px !important;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .single_add_to_cart_button:hover {
    background-color: #004364 !important;
    border-color: #004364 !important;
}

/* Hide SKU but keep category */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .product_meta .sku_wrapper,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .product_meta .sku {
    display: none !important;
}

/* Small padding on mobile */
@media (max-width: 768px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) div.summary {
        padding: 0 10px;
    }
}

/* General body text (dates, times, notes, labels) */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-single-dates-range,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-single-times-list .camp-single-time-line,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-note,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-name-row label {
    font-size: 1.02rem !important;
}

/* Space between heading and selector */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-qty-heading {
    margin-bottom: 10px !important;
}

/* Space between selector and first camper name */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-qty-block {
    margin-bottom: 18px !important;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) #camp-camper-names-wrapper {
    margin-top: 6px;
}

/* Price: slightly smaller, bold */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .summary p.price,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .summary span.price {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}

/* Emergency heading styling */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-heading {
    color: #005c86 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 18px 0 8px !important;
}

/* Tidy emergency rows + label styling */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-row {
    margin-bottom: 10px;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-row label {
    display: block;
    font-size: 1.02rem !important;
    margin-bottom: 3px;
}

/* Breadcrumb off */
.woocommerce-breadcrumb {
    display: none !important;
}

/* =========================
   HEADER GRID: dates/times left, booking type right
   ========================= */

.single-product div.product:is(.product_cat-camps,.product_cat-classes) div.summary .camp-header-grid {
    display: block;
    margin-bottom: 30px;
}

/* Desktop / tablet landscape two-column layout */
@media (min-width: 960px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) div.summary .camp-header-grid {
        display: flex;
        gap: 30px !important;
        align-items: flex-start;
        margin-bottom: 24px !important;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-header-grid .camp-single-details {
        flex: 0 0 55%;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-header-grid .camp-booking-inline {
        flex: 0 0 45%;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-booking-inline .camp-booking-select {
        width: 100%;
    }
}

/* Mobile: stacked */
@media (max-width: 959px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-booking-inline {
        margin-top: 15px;
    }
}

/* Camper name + age side-by-side, medical full-width */
@media (min-width: 768px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-row {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-name-field,
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-age-field {
        flex: 1 1 calc(50% - 10px);
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-med-field {
        flex: 1 1 100%;
    }
}

/* Make camper + emergency labels consistent */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-camper-name-row label,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-row label {
    font-size: 1.02rem !important;
    font-weight: 400;
}

/* Top stock line under main price */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-top-stock {
    margin-top: 6px;
    margin-bottom: 14px;
    font-weight: 600;
}

.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-top-stock-number {
    color: #eb6a2c;
    font-weight: 700;
}

/* Hide Woo's default stock + variation price/availability text on camp products */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .woocommerce-variation-availability,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .stock {
    display: none !important;
}

/* Keep variation price hidden visually but available for JS */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .woocommerce-variation-price {
    display: none !important;
}

/* "Price x N Campers" helper under Booking Type */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-booking-total {
    margin-top: 14px;
    font-weight: 600;
    font-size: 1.02rem;
    color: #eb6a2c;
    display: none; /* JS will show when there is a selected variation */
}

/* =========================
   Emergency section layout
   ========================= */

/* Desktop: 2-column grid, heading full width */
@media (min-width: 768px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-section {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 14px;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-heading {
        grid-column: 1 / -1;
    }

    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-emergency-row {
        width: 100%;
    }
}

/* Extra: keep booking select full-width in its column */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) .camp-booking-inline .camp-booking-select {
    width: 100%;
}

/* Red asterisk for required camper/emergency fields */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) label .camp-required {
    color: #eb6a2c;
    margin-left: 2px;
}


.price  {
    display: none !important;
}

/* Reduce the big white gap above "Camper Information" on camp products */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart {
    margin-top: 0 !important;
}

/* The hidden variations table & variation wrapper were leaving large margins */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart table.variations,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart .woocommerce-variation,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart .single_variation,
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart .woocommerce-variation-description {
    margin: 0 !important;
    padding: 0 !important;
}

/* Woo adds extra top margin above the add-to-cart row; keep it tight */
.single-product div.product:is(.product_cat-camps,.product_cat-classes) form.variations_form.cart .woocommerce-variation-add-to-cart {
    margin-top: 10px !important;
}

.posted_in {
    display:none !important;
}

/* Hide WooCommerce "Additional Information" section site-wide */
.woocommerce-Tabs-panel--additional_information,
li.additional_information_tab {
    display: none !important;
}

@media only screen and (max-width: 690px) {
    .single-product div.product h1.product_title {
        line-height: 38px !important;
    }
}

@media (max-width: 768px) {
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) h3.camp-booking-title {
        margin-top: 20px !important; /* adjust as needed */
    }
    .single-product div.product:is(.product_cat-camps,.product_cat-classes) .product_title {
    margin-top: 10px !important;
}
.camp-index-date {
    display:none !important;
}

.amelia-v2-booking #amelia-container .am-fs__rs-on-week {
    width: 100% !important;
}
}

@media (min-width: 1300px) {
.amelia-v2-booking #amelia-container .am-fs__rs-on-week {
    width: 80% !important;
}}

.camp-index-button {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 999px;
    background: #005c86 !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 18px !important;
    text-decoration: none !important;
}

/* 1. Reset the container so it doesn't add a yellow square */
#header-outer .cart-outer .cart-icon-wrap .cart-wrap {
    background: transparent !important;
}

/* 2. Make the badge circle yellow instead of red */
#header-outer .cart-outer .cart-icon-wrap .cart-wrap span,
#header-outer .cart-outer .cart-icon-wrap .cart-wrap span:before {
    background-color: #FFD400 !important;  /* yellow */
    border-radius: 50% !important;
    box-shadow: none !important;           /* kill any red glow */
}

/* 3. Make the number black */
#header-outer .cart-outer .cart-icon-wrap .cart-wrap span {
    color: #000000 !important;             /* black number */
}

#header-outer .widget_shopping_cart .cart_list a {
    font-family: Urbanist, sans-serif !important;
}

/* =========================
   CART DRAWER – FULL-WIDTH CONTENT, NO IMAGE
   ========================= */

/* MINI-CART: make each item full-width, no flex row column */

/* 1. Hide the thumbnail image */
#header-outer .widget_shopping_cart .cart_list li a img {
    display: none !important;
}

/* 2. Make the <li> behave like a normal block, full width */
#header-outer .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item {
    display: block !important;        /* override flex row from Salient */
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    position: relative;
}

/* 3. Make the title, meta and quantity all use the full width */
#header-outer .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item > a:not(.remove),
#header-outer .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item .product-meta,
#header-outer .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item .quantity {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
}

/* 4. Keep the X icon in the top-right corner */
#header-outer .widget_shopping_cart .cart_list li.woocommerce-mini-cart-item a.remove {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    left: auto !important;
}

/* 5. Keep the drawer’s inner padding looking normal */
#header-outer .widget_shopping_cart_content {
    padding: 30px 40px !important;     /* tweak to taste */
}

#header-outer .widget_shopping_cart .cart_list a {
    font-size:18px !important;
}

#header-outer .total {
    padding-left: 0px !important;
}

#header-outer .widget_shopping_cart .buttons {
    padding: 3px 20px 20px 0px !important;
}

.woocommerce ul.cart_list li dl, .woocommerce ul.product_list_widget li dl {
    padding-left: 0em !important;
    border-left: 0px solid rgba(0, 0, 0, .1) !important;
}

#header-outer .widget_shopping_cart .cart_list li:first-child {
    padding-top: 0px !important;
}

.variation-Campers, .variation-EmergencyContact, .variation-EmergencyPhone {
    font-size:15px !important;
}

/* Booking Adjustments */

.am-fs__cserv-heading-img {
    background-color: #005c86 !important;
}

.el-form-item--label-top {
    font-weight:700 !important;
    color: #005c86 !important;;
}

.amelia-v2-booking #amelia-container.am-fs__wrapper {
    margin: 30px auto 100px auto !important;
}

.amelia-v2-booking #amelia-container .am-fs__main-footer .am-button-cart .am-icon-plus {
    color: #ffffff !important;
    background-color: #005c86 !important;
}

.amelia-v2-booking #amelia-container .am-alert-wrapper .el-alert--warning {
    background-color: var(--am-c-alertw-bgr-op10);
    border: 1px solid var(--am-c-alertw-bgr-op60);
    box-shadow: 0 2px 3px var(--am-c-alertw-bgr-op10);
}

/* Before / After Care – WAPF Styling */


/* 1) FORCE heading color + size (raw text + any nested elements) */
form.cart .wapf-wrapper .wapf-field-container.beforeafter,
form.cart .wapf-wrapper .wapf-field-container.beforeafter *{
  color:#005c86 !important;
  font-size:1.35rem !important;
  font-weight:700 !important;
}

/* Title sizing must live on the container (raw text node) */
form.cart .wapf-wrapper .wapf-field-container.beforeafter{
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* 2) Reset checkbox line back to normal (so only title is big) */
form.cart .wapf-wrapper .wapf-field-container.beforeafter label.wapf-input-label,
form.cart .wapf-wrapper .wapf-field-container.beforeafter label.wapf-input-label *{
  color:#222 !important;
  font-size:1rem !important;
  font-weight:400 !important;
  line-height:1.3 !important;
}

/* 3) Price hint back to blue */
form.cart .wapf-wrapper .wapf-field-container.beforeafter .wapf-pricing-hint{
  color:#005c86 !important;
  font-weight:600 !important;
  margin-left:6px !important;
}

/* Space above the Before Care title only */
form.cart .wapf-wrapper .wapf-field-container.beforeafter{
  margin-top:38px !important;
}

/********************************************************
 Align checkbox + label text nicely
********************************************************/

/* Make checkbox + text align vertically */
form.cart .wapf-wrapper 
.wapf-field-container.beforeafter 
label.wapf-input-label{
  display:flex;
  align-items:center;
  gap:8px; /* space between checkbox and text */
}

/* Remove any default top offset on checkbox */
form.cart .wapf-wrapper 
.wapf-field-container.beforeafter 
label.wapf-input-label input[type="checkbox"]{
  margin:0 !important;
  position:relative;
  top:0;
}

/* Ensure text wraps cleanly if it goes to two lines */
form.cart .wapf-wrapper 
.wapf-field-container.beforeafter 
.wapf-label-text{
  line-height:1.3;
}

form.cart .wapf-wrapper 
.wapf-field-container.beforeafter 
label.wapf-input-label{
  margin-top:12px !important; /* adjust as needed */
}

/* Woocommerce Cart */

.woocommerce-cart .product-name a {
    color: #005c86 !important;
    font-weight: 700 !important;
    font-size: 1.3rem !important;
}

/* Cart and Checkout */

/* Reduce overall variation block spacing */
.woocommerce-cart dl.variation,
.woocommerce-checkout dl.variation{
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

/* Flatten dt/dd spacing */
.woocommerce-cart dl.variation dt,
.woocommerce-cart dl.variation dd,
.woocommerce-checkout dl.variation dt,
.woocommerce-checkout dl.variation dd{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

/* Keep labels tight to values */
.woocommerce-cart dl.variation dt,
.woocommerce-checkout dl.variation dt{
  float: left;
  font-weight: 700;
  margin-right: 6px !important;
}

/* Values stack cleanly */
.woocommerce-cart dl.variation dd,
.woocommerce-checkout dl.variation dd{
  display: block;
}

/* Woo wraps values in <p> with default margins – kill those */
.woocommerce-cart dl.variation dd p,
.woocommerce-checkout dl.variation dd p{
  margin: 0 !important;
  padding: 0 !important;
}

/* Small, consistent gap between each meta line */
.woocommerce-cart .cart_item dl.variation > *,
.woocommerce-checkout .cart_item dl.variation > *{
  margin-bottom: 6px !important;
}

.woocommerce-cart .cart_item dl.variation > *:last-child,
.woocommerce-checkout .cart_item dl.variation > *:last-child{
  margin-bottom: 0 !important;
}

/* Salient popup cart / mini-cart – tighten custom meta spacing */

.widget_shopping_cart dl.variation,
.woocommerce-mini-cart dl.variation,
#header-outer .widget_shopping_cart dl.variation,
#header-outer .woocommerce-mini-cart dl.variation{
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

.widget_shopping_cart dl.variation dt,
.widget_shopping_cart dl.variation dd,
.woocommerce-mini-cart dl.variation dt,
.woocommerce-mini-cart dl.variation dd{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

.widget_shopping_cart dl.variation dt,
.woocommerce-mini-cart dl.variation dt{
  float: left;
  font-weight: 700;
  margin-right: 6px !important;
}

.widget_shopping_cart dl.variation dd,
.woocommerce-mini-cart dl.variation dd{
  display: block;
}

.widget_shopping_cart dl.variation dd p,
.woocommerce-mini-cart dl.variation dd p{
  margin: 0 !important;
  padding: 0 !important;
}

/* Small, consistent gap between each meta line in the popup cart */
.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > *,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > *{
  margin-bottom: 6px !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > *:last-child,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > *:last-child{
  margin-bottom: 0 !important;
}