/* ========================================================================
   ANIL — Modern 3-column WooCommerce product page
   Designed for mweb-digiland-pro / RTL / WooCommerce
   ======================================================================== */

body.single-product {
    background: #f4f6fa;
}

body.single-product #container,
body.single-product #content {
    background: transparent;
}

body.single-product #content > .container,
body.single-product .main-content > .container {
    width: min(1300px, calc(100% - 30px));
    max-width: 1300px;
    margin-inline: auto;
}

body.single-product .woocommerce-breadcrumb {
    margin: 16px 0 12px;
    padding: 0 4px;
    color: #8792a4;
    background: transparent;
    border: 0;
    font-size: 11px;
    line-height: 1.9;
}

body.single-product .woocommerce-breadcrumb a {
    color: #53627a;
}

.anil-product-page,
.anil-product-page * {
    box-sizing: border-box;
}

.anil-product-page {
    --anil-navy: #12367d;
    --anil-navy-2: #0b2b68;
    --anil-blue: #0183ff;
    --anil-blue-soft: #eef4ff;
    --anil-orange: #0183ff;
    --anil-orange-2: #0183ff;
    --anil-green: #17af67;
    --anil-red: #ef3d45;
    --anil-text: #101e35;
    --anil-muted: #758197;
    --anil-line: #e7ebf2;
    --anil-line-dark: #dbe2ec;
    --anil-bg: #f4f6fa;
    --anil-card: #fff;
    --anil-radius: 15px;
    --anil-shadow: 0 8px 28px rgba(25, 45, 76, .055);
    --anil-shadow-hover: 0 13px 34px rgba(25, 45, 76, .09);
    direction: rtl;
    color: var(--anil-text);
    font-family: var(--mainfont, IRANSans, Tahoma, sans-serif);
    padding-bottom: 40px;
}

.anil-product-page a {
    text-decoration: none;
}

.anil-product-page button,
.anil-product-page input,
.anil-product-page select,
.anil-product-page textarea {
    font-family: inherit;
}

.anil-modern-shell {
    margin-bottom: 18px;
}

.anil-modern-grid {
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(410px, 1.05fr) minmax(430px, 1.28fr);
    grid-template-areas: "buy info gallery";
    gap: 14px;
    direction: ltr;
    align-items: start;
}

.anil-buy-column,
.anil-info-column,
.anil-gallery-column {
    min-width: 0;
    direction: rtl;
}

.anil-buy-column { grid-area: buy; }
.anil-info-column { grid-area: info; }
.anil-gallery-column { grid-area: gallery; }

/* ------------------------------------------------------------------------
   LEFT PURCHASE SIDEBAR
   ------------------------------------------------------------------------ */

.anil-buy-column {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 12px;
}

.anil-buy-card,
.anil-side-mini-card,
.anil-side-actions,
.anil-info-column,
.anil-gallery-column,
.anil-tabs-section,
.anil-spec-card,
.anil-related-section {
    background: #fff;
    border: 1px solid var(--anil-line);
    border-radius: var(--anil-radius);
    box-shadow: var(--anil-shadow);
}

.anil-buy-card {
    padding: 16px;
}

.anil-buy-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    padding: 11px 12px;
    color: #285b9c;
    background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
    border: 1px solid #e1edf9;
    border-radius: 11px;
}

.anil-buy-head.has-sale {
    color: #1183f4;
    background: linear-gradient(135deg, #fffaf3 0%, #e8f4ff 100%);
    border-color: #bddeff;
}

.anil-buy-head > div {
    min-width: 0;
}

.anil-buy-head strong,
.anil-buy-head small {
    display: block;
}

.anil-buy-head strong {
    font-size: 12px;
    font-weight: 900;
}

.anil-buy-head small {
    margin-top: 4px;
    color: #7d8797;
    font-size: 9px;
    line-height: 1.7;
}

.anil-buy-head-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}

.anil-buy-head-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.anil-sidebar-price-box {
    margin-top: 12px;
    padding: 14px 14px 12px;
    background: #fff;
    border: 1px solid var(--anil-line);
    border-radius: 11px;
}

.anil-sidebar-pack-prices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.anil-sidebar-pack-card {
    position: relative;
    min-width: 0;
    min-height: 112px;
    padding: 12px;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e3e9f2;
    border-radius: 11px;
    box-shadow: 0 5px 14px rgba(20, 39, 67, .035);
}

.anil-sidebar-pack-card-total {
    background: linear-gradient(145deg, #fffaf3 0%, #fff 72%);
    border-color: #c2e1ff;
}

.anil-sidebar-pack-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--anil-orange);
    background: #e4f2ff;
    border-radius: 8px;
}

.anil-sidebar-pack-icon svg,
.anil-gallery-service-card svg,
.anil-gallery-service-strip svg,
.anil-gallery-delivery-btn svg {
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.anil-sidebar-pack-title {
    display: block;
    margin-top: 8px;
    color: #6f7d91;
    font-size: 8px;
    font-weight: 850;
}

.anil-sidebar-pack-card > strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #13243d;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-sidebar-pack-card > small {
    display: block;
    min-height: 15px;
    margin-top: 3px;
    overflow: hidden;
    color: #8792a2;
    font-size: 7px;
    font-weight: 700;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-payable-price-box {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.anil-sidebar-price-label {
    display: block;
    margin-bottom: 7px;
    color: #7c889a;
    font-size: 9px;
    font-weight: 700;
}

.anil-sidebar-price,
.anil-sidebar-price .price {
    color: #13243d !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.55;
}

.anil-sidebar-price .woocommerce-Price-amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.anil-sidebar-price del {
    margin-left: 7px;
    color: #a3acba !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}

.anil-sidebar-price ins {
    text-decoration: none;
}

.anil-sidebar-stock,
.anil-stock-dynamic {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    color: var(--anil-green);
    font-size: 10px;
    font-weight: 800;
}

.anil-sidebar-stock.is-out-of-stock,
.anil-stock-dynamic.is-out-of-stock {
    color: var(--anil-red);
}

.anil-stock-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 11%, transparent);
}

.anil-stock-dynamic .stock,
.anil-sidebar-stock .stock {
    margin: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
}

.anil-sidebar-services {
    margin-top: 12px;
    overflow: hidden;
    background: linear-gradient(180deg, #fbfcff 0%, #f5f8fe 100%);
    border: 1px solid #eaf0f8;
    border-radius: 11px;
}

.anil-sidebar-service {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 53px;
    padding: 9px 11px;
    border-bottom: 1px solid #e9eef6;
}

.anil-sidebar-service:last-child {
    border-bottom: 0;
}

.anil-sidebar-service > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--anil-blue);
}

.anil-sidebar-service svg,
.anil-side-mini-card svg,
.anil-side-action svg,
.anil-proxy-cart-button svg,
.anil-feature-icon svg,
.anil-center-service-strip svg,
.anil-gallery-bottom-benefits svg,
.anil-pack-card svg,
.anil-spec-list svg,
.anil-tool-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.anil-sidebar-service b,
.anil-sidebar-service small {
    display: block;
}

.anil-sidebar-service b {
    color: #253a57;
    font-size: 10px;
    font-weight: 900;
}

.anil-sidebar-service small {
    margin-top: 3px;
    color: #8a95a6;
    font-size: 8px;
    line-height: 1.6;
}

.anil-sidebar-separator {
    height: 1px;
    margin: 14px 0 12px;
    background: var(--anil-line);
}

.anil-sidebar-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.anil-sidebar-qty-row > span {
    color: #526077;
    font-size: 10px;
    font-weight: 800;
}

.anil-proxy-quantity {
    display: grid;
    grid-template-columns: 32px 42px 32px;
    height: 38px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe5ee;
    border-radius: 9px;
}

.anil-proxy-quantity input,
.anil-qty-btn {
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 0;
    text-align: center;
    color: #1c2e49;
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: 0;
    font-size: 12px;
    font-weight: 900;
}

.anil-proxy-quantity input::-webkit-outer-spin-button,
.anil-proxy-quantity input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.anil-qty-btn {
    color: #50617a;
    cursor: pointer;
    font-size: 16px;
    transition: background .18s ease, color .18s ease;
}

.anil-qty-btn:hover {
    color: var(--anil-blue);
    background: #f4f7fc;
}

.anil-proxy-cart-button,
.anil-quote-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease, background .18s ease;
}

.anil-proxy-cart-button {
    color: #fff !important;
    background: linear-gradient(135deg, var(--anil-navy) 0%, #194b9d 100%) !important;
}

.anil-proxy-cart-button:hover:not(:disabled) {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.anil-proxy-cart-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.anil-proxy-cart-button svg {
    width: 21px;
    height: 21px;
}

.anil-quote-button {
    margin-top: 8px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--anil-orange) 0%, #0183ff00 100%) !important;
}

.anil-quote-button:hover {
    filter: brightness(.98);
}

.anil-side-mini-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 14px 15px;
}

.anil-side-mini-card > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: var(--anil-blue);
    background: #f1f6ff;
    border-radius: 9px;
}

.anil-side-mini-card b,
.anil-side-mini-card small {
    display: block;
}

.anil-side-mini-card b {
    color: #243752;
    font-size: 10px;
    font-weight: 900;
}

.anil-side-mini-card small {
    margin-top: 4px;
    color: #8792a2;
    font-size: 8px;
    line-height: 1.7;
}

.anil-side-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
}

.anil-side-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 58px;
    padding: 8px;
    color: #33527e;
    background: #fff;
    border: 0;
    border-left: 1px solid var(--anil-line);
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
}

.anil-side-action:last-child {
    border-left: 0;
}

.anil-side-action:hover {
    color: var(--anil-blue);
    background: #f9fbff;
}

/* ------------------------------------------------------------------------
   CENTER PRODUCT INFO
   ------------------------------------------------------------------------ */

.anil-info-column {
    position: relative;
    padding: 20px 22px 18px;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
}

.anil-info-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

.anil-tool-button {
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    padding: 0;
    color: #4b5b72;
    background: #fff;
    border: 1px solid #e2e7ef;
    border-radius: 9px;
    box-shadow: 0 3px 10px rgba(20, 39, 67, .04);
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, transform .18s ease;
}

.anil-tool-button:first-child {
    color: #ff4350;
}

.anil-tool-button:hover {
    color: var(--anil-blue);
    border-color: #bdcee8;
    transform: translateY(-1px);
}

.anil-info-header {
    padding: 0 2px;
}

.anil-product-title {
    margin: 0;
    color: #111e32;
    font-size: clamp(20px, 1.65vw, 28px);
    font-weight: 950;
    line-height: 1.65;
    letter-spacing: -.25px;
}

.anil-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    color: #7b8798;
    font-size: 9px;
}

.anil-rating-row .star-rating {
    float: none !important;
    margin: 0 !important;
    color: #0080ff;
    font-size: 11px;
}

.anil-product-inline-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 15px;
    margin-top: 12px;
    color: #758198;
    font-size: 9px;
}

.anil-product-inline-meta span {
    position: relative;
}

.anil-product-inline-meta span:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    width: 1px;
    height: 12px;
    background: #e2e7ee;
    transform: translateY(-50%);
}

.anil-product-inline-meta b {
    color: #42536b;
    font-weight: 900;
}

.anil-short-description {
    margin-top: 14px;
    color: #56667c;
    font-size: 10px;
    line-height: 2;
}

.anil-short-description p {
    margin: 0;
}

.anil-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.anil-feature-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-width: 0;
    min-height: 52px;
    padding: 8px 9px;
    background: #fafcff;
    border: 1px solid #edf1f6;
    border-radius: 9px;
}

.anil-feature-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: var(--anil-blue);
    background: #eef4ff;
    border-radius: 8px;
}

.anil-feature-copy {
    display: block;
    min-width: 0;
}

.anil-feature-copy strong,
.anil-feature-copy small {
    display: block;
}

.anil-feature-copy strong {
    color: #263b58;
    font-size: 9px;
    font-weight: 900;
}

.anil-feature-copy small {
    margin-top: 2px;
    overflow: hidden;
    color: #7e8a9b;
    font-size: 8px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-variation-zone {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--anil-line);
}

.anil-variation-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 11px;
}

.anil-variation-heading span,
.anil-variation-heading small {
    display: block;
}

.anil-variation-heading span {
    color: #263955;
    font-size: 10px;
    font-weight: 950;
}

.anil-variation-heading small {
    color: #8c96a5;
    font-size: 8px;
}

/* WooCommerce variation form */
.anil-purchase-area form.cart,
.anil-purchase-area form.variations_form {
    position: relative;
    margin: 0 !important;
}

.anil-purchase-area table.variations {
    width: 100% !important;
    margin: 0 0 4px !important;
    border: 0 !important;
    border-collapse: separate !important;
}

.anil-purchase-area table.variations tbody,
.anil-purchase-area table.variations tr,
.anil-purchase-area table.variations th,
.anil-purchase-area table.variations td {
    border: 0 !important;
    background: transparent !important;
}

.anil-purchase-area table.variations tr {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.anil-purchase-area table.variations th.label {
    padding: 0 !important;
    color: #35465d;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.6;
}

.anil-purchase-area table.variations th.label label {
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
}

.anil-purchase-area table.variations td.value {
    position: relative;
    padding: 0 !important;
}

.anil-purchase-area table.variations select {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    color: #293c58 !important;
    background-color: #fff !important;
    border: 1px solid #d9e0ea !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.anil-purchase-area table.variations select:focus {
    border-color: #8eb1e8 !important;
    box-shadow: 0 0 0 3px rgba(36, 102, 216, .07) !important;
}

.anil-purchase-area .reset_variations {
    display: inline-block;
    margin-top: 5px;
    color: #8b96a7;
    font-size: 8px;
}

/* Common swatch plugins inside the variation cell */
.anil-purchase-area .variable-items-wrapper,
.anil-purchase-area .tawcvs-swatches,
.anil-purchase-area .cfvsw-swatches-container {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px !important;
    margin: 0 !important;
}

.anil-purchase-area .variable-item,
.anil-purchase-area .swatch,
.anil-purchase-area .cfvsw-swatches-option {
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.anil-purchase-area .variable-item.selected,
.anil-purchase-area .swatch.selected,
.anil-purchase-area .cfvsw-selected-swatch {
    border-color: var(--anil-blue) !important;
    box-shadow: 0 0 0 2px rgba(36, 102, 216, .09) !important;
}

/* We display price/stock in our own dynamic areas. */
.anil-purchase-area .woocommerce-variation-price,
.anil-purchase-area .woocommerce-variation-availability {
    display: none !important;
}

/* Keep Woo inputs/button in the DOM for native submission, but the sidebar is the visual CTA. */
.anil-purchase-area .woocommerce-variation-add-to-cart,
.anil-purchase-area form.cart:not(.variations_form) > .quantity,
.anil-purchase-area form.cart:not(.variations_form) > .single_add_to_cart_button {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Third-party widgets remain visible under the native form. */
.anil-product-page .torobpay-widget,
.anil-product-page .lead_time,
.anil-product-page .wcpt-message,
.anil-product-page .warranty-options,
.anil-product-page .warranty_option {
    margin-top: 9px;
}

/* Dynamic package cards — directly under variation selectors */
.anil-pack-inline {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    margin: 12px 0 0;
}

.anil-pack-inline[hidden] {
    display: none !important;
}


.anil-after-pack-widgets {
    display: grid;
    gap: 10px;
    width: 100%;
    margin-top: 10px;
}

.anil-after-pack-widgets:empty {
    display: none;
}

.anil-after-pack-widgets .torobpay-widget,
.anil-after-pack-widgets .lead_time,
.anil-after-pack-widgets .wcpt-message,
.anil-after-pack-widgets .warranty-options,
.anil-after-pack-widgets .warranty_option {
    margin-top: 0;
}

.anil-pack-card {
    min-width: 0;
    min-height: 112px;
    padding: 12px;
    background: #fff;
    border: 1px solid #e4e9f1;
    border-radius: 10px;
}

.anil-pack-info-card {
    background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%);
}

.anil-pack-card-head {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
}

.anil-pack-card-head > span,
.anil-price-card-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: var(--anil-blue);
    background: #edf4ff;
    border-radius: 8px;
}

.anil-pack-card-head b {
    color: #263b57;
    font-size: 9px;
    font-weight: 950;
}

.anil-pack-info-grid {
    display: grid;
    gap: 6px;
}

.anil-pack-info-grid > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.anil-pack-info-grid span {
    color: #7d899b;
    font-size: 8px;
}

.anil-pack-info-grid strong {
    max-width: 56%;
    overflow: hidden;
    color: #2f415a;
    font-size: 8px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-price-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.anil-total-price-card {
    background: linear-gradient(145deg, #fffaf3 0%, #fff 70%);
}

.anil-total-price-card .anil-price-card-icon {
    color: var(--anil-orange);
    background: #e4f2ff;
}

.anil-price-card-title {
    margin-top: 7px;
    color: #6e7b90;
    font-size: 8px;
    font-weight: 800;
}

.anil-price-card > strong {
    display: block;
    margin-top: 5px;
    color: #13243e;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.55;
    white-space: nowrap;
}

.anil-price-card > small {
    min-height: 15px;
    margin-top: 4px;
    color: var(--anil-red);
    font-size: 7px;
    font-weight: 800;
    line-height: 1.5;
}

.anil-primary-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 13px;
    padding: 12px 13px;
    background: #fbfcfe;
    border: 1px solid #edf0f5;
    border-radius: 10px;
}

.anil-primary-price-row > div:first-child > span {
    display: block;
    margin-bottom: 3px;
    color: #7d8999;
    font-size: 8px;
    font-weight: 700;
}

.anil-main-price,
.anil-main-price .price,
.anil-main-price .woocommerce-Price-amount {
    color: var(--anil-navy) !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

.anil-main-price del,
.anil-main-price del .woocommerce-Price-amount {
    color: #a1aab8 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
}

.anil-main-price ins {
    text-decoration: none;
}

.anil-stock-dynamic {
    margin-top: 0;
}

.anil-center-service-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 16px;
    padding: 11px 0 0;
    border-top: 1px solid var(--anil-line);
}

.anil-center-service-strip > div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding: 3px 9px;
    border-left: 1px solid var(--anil-line);
}

.anil-center-service-strip > div:last-child {
    border-left: 0;
}

.anil-center-service-strip > div > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: var(--anil-blue);
    background: #f1f6ff;
    border-radius: 8px;
}

.anil-center-service-strip b,
.anil-center-service-strip small {
    display: block;
}

.anil-center-service-strip b {
    color: #34465f;
    font-size: 8px;
    font-weight: 900;
}

.anil-center-service-strip small {
    margin-top: 2px;
    overflow: hidden;
    color: #8b95a4;
    font-size: 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ------------------------------------------------------------------------
   RIGHT GALLERY
   ------------------------------------------------------------------------ */

.anil-gallery-column {
    position: relative;
    padding: 16px 16px 14px;
    overflow: hidden;
}

.anil-gallery-inner {
    position: relative;
    min-width: 0;
}

.anil-gallery-column .images,
.anil-gallery-column .gallery-with-images,
.anil-gallery-column .woocommerce-product-gallery,
.anil-gallery-column .product-images {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.anil-gallery-column .product-images,
.anil-gallery-column .product-images .swiper-wrapper,
.anil-gallery-column .product-images .swiper-slide,
.anil-gallery-column .woocommerce-product-gallery__image {
    height: 470px !important;
    min-height: 470px !important;
    max-height: 470px !important;
}

.anil-gallery-column .product-images .swiper-slide,
.anil-gallery-column .woocommerce-product-gallery__image,
.anil-gallery-column .woocommerce-product-gallery__image > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.anil-gallery-column .woocommerce-product-gallery__image img,
.anil-gallery-column img.woocommerce-main-image,
.anil-gallery-column .product-images img {
    display: block;
    width: auto !important;
    max-width: 91% !important;
    height: auto !important;
    max-height: 445px !important;
    margin: auto !important;
    object-fit: contain !important;
}

.anil-gallery-column .product_tools_btn {
    position: absolute !important;
    top: -10px;
    right: 0px;
    bottom: auto !important;
    z-index: 8;
    display: flex;
    justify-content: end;
    gap: 6px;
}

.anil-gallery-column .product_tools_btn > span,
.anil-gallery-column .product_tools_btn > a {
    display: grid !important;
    place-items: center;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    color: #4c5b70 !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid #e4e8ee !important;
    border-radius: 9px !important;
    box-shadow: 0 4px 12px rgba(18, 36, 62, .05) !important;
}

.anil-gallery-column .thumbnails {
    margin-top: 10px !important;
    padding-top: 11px;
    border-top: 1px solid var(--anil-line);
}

.anil-gallery-column .product-thumbs,
.anil-gallery-column .product-thumbs .swiper-wrapper {
    height: 76px !important;
    min-height: 76px !important;
}

.anil-gallery-column .product-thumbs .swiper-slide {
    width: 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 5px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e1e6ee;
    border-radius: 9px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.anil-gallery-column .product-thumbs .swiper-slide-thumb-active {
    border-color: var(--anil-blue);
    box-shadow: 0 0 0 2px rgba(36, 102, 216, .08);
}

.anil-gallery-column .product-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.anil-gallery-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 8;
    display: grid;
    justify-items: start;
    gap: 5px;
}

.anil-gallery-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 900;
}

.anil-gallery-badge.sale {
    color: #006dd9;
    background: #dfefff;
}

.anil-gallery-badge.shipping {
    color: #da3d42;
    background: #fff0f1;
}

.anil-gallery-service-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.anil-gallery-service-card {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
    min-height: 72px;
    padding: 11px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e6ebf2;
    border-radius: 10px;
    box-shadow: 0 5px 14px rgba(20, 39, 67, .03);
}

.anil-gallery-service-card > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: var(--anil-orange);
    background: #e4f2ff;
    border: 1px solid #c0e0ff;
    border-radius: 9px;
}

.anil-gallery-service-card b,
.anil-gallery-service-card small {
    display: block;
}

.anil-gallery-service-card b {
    color: #263a57;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.6;
}

.anil-gallery-service-card small {
    margin-top: 3px;
    overflow: hidden;
    color: #8792a2;
    font-size: 7.5px;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-gallery-service-strip {
    display:none;
    /*display: grid;*/
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 9px;
    overflow: hidden;
    background: #fbfcfe;
    border: 1px solid #edf0f5;
    border-radius: 10px;
}

.anil-gallery-service-strip > div {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-height: 58px;
    padding: 8px 9px;
    border-left: 1px solid #e8ecf2;
}

.anil-gallery-service-strip > div:last-child {
    border-left: 0;
}

.anil-gallery-service-strip > div > span {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    color: var(--anil-orange);
}

.anil-gallery-service-strip b,
.anil-gallery-service-strip small {
    display: block;
}

.anil-gallery-service-strip b {
    color: #344861;
    font-size: 7.5px;
    font-weight: 900;
    line-height: 1.6;
}

.anil-gallery-service-strip small {
    margin-top: 2px;
    overflow: hidden;
    color: #8a95a5;
    font-size: 6.5px;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anil-gallery-delivery-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 9px;
}

.anil-gallery-delivery-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    cursor: pointer;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.anil-gallery-delivery-btn-primary {
    background: linear-gradient(135deg, var(--anil-navy) 0%, #194b9d 100%) !important;
}

.anil-gallery-delivery-btn-secondary {
    background: linear-gradient(135deg, var(--anil-orange) 0%, var(--anil-orange-2) 100%) !important;
}

.anil-gallery-delivery-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 8px 18px rgba(18, 54, 125, .12) !important;
}

.anil-gallery-delivery-btn:active {
    transform: translateY(0);
    filter: brightness(.98);
}

.anil-gallery-delivery-btn > span {
    display: grid;
    place-items: center;
    color: currentColor;
}

/* ------------------------------------------------------------------------
   DETAILS / TABS / DYNAMIC SPECS
   ------------------------------------------------------------------------ */

.anil-details-layout {
    display: grid;
    /*grid-template-columns: minmax(0, 1fr) 320px;*/
    gap: 14px;
    margin-top: 14px;
    align-items: start;
}

.anil-tabs-section {
    min-width: 0;
    overflow: hidden;
}

.anil-tabs-section .woocommerce-tabs {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

.anil-tabs-section .woocommerce-tabs > ul.tabs {
    display: flex !important;
    align-items: center;
    gap: 2px;
    min-height: 52px;
    margin: 0 !important;
    padding: 7px 13px !important;
    overflow-x: auto;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--anil-line) !important;
    white-space: nowrap;
}

.anil-tabs-section .woocommerce-tabs > ul.tabs::before,
.anil-tabs-section .woocommerce-tabs > ul.tabs::after,
.anil-tabs-section .woocommerce-tabs > ul.tabs li::before,
.anil-tabs-section .woocommerce-tabs > ul.tabs li::after {
    display: none !important;
}

.anil-tabs-section .woocommerce-tabs > ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px !important;
}

.anil-tabs-section .woocommerce-tabs > ul.tabs li a {
    display: flex !important;
    align-items: center;
    min-height: 36px;
    padding: 0 12px !important;
    color: #40516a !important;
    border-radius: 7px;
    font-size: 9px !important;
    font-weight: 900 !important;
}

.anil-tabs-section .woocommerce-tabs > ul.tabs li.active a {
    color: var(--anil-blue) !important;
    background: #f1f6ff !important;
    box-shadow: inset 0 -2px 0 var(--anil-blue);
}

.anil-tabs-section .woocommerce-Tabs-panel {
    margin: 0 !important;
    padding: 22px 24px !important;
    color: #526176;
    background: #fff !important;
    font-size: 10px;
    line-height: 2.05;
}

.anil-tabs-section .woocommerce-Tabs-panel h2,
.anil-tabs-section .woocommerce-Tabs-panel h3,
.anil-tabs-section .woocommerce-Tabs-panel h4 {
    color: #1e304a;
    line-height: 1.8;
}

.anil-tabs-section .woocommerce-Tabs-panel img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.anil-tabs-section table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--anil-line) !important;
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: 9px;
}

.anil-tabs-section table th,
.anil-tabs-section table td {
    padding: 9px 10px !important;
    border-color: var(--anil-line) !important;
}

.anil-spec-card {
    padding: 18px;
    display:none;
}

.anil-spec-card h2 {
    margin: 0 0 13px;
    color: #1f314a;
    font-size: 12px;
    font-weight: 950;
}

.anil-spec-list {
    display: grid;
    gap: 0;
}

.anil-spec-list > div {
    display: grid;
    grid-template-columns: 24px 95px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-height: 42px;
    border-bottom: 1px dashed #e5e9f0;
}

.anil-spec-list > div:last-child {
    border-bottom: 0;
}

.anil-spec-list > div > span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: var(--anil-blue);
}

.anil-spec-list b {
    color: #66758b;
    font-size: 8px;
    font-weight: 800;
}

.anil-spec-list em {
    overflow: hidden;
    color: #263a57;
    font-size: 8px;
    font-style: normal;
    font-weight: 900;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ------------------------------------------------------------------------
   RELATED PRODUCTS
   ------------------------------------------------------------------------ */

.anil-related-section {
    margin-top: 14px;
    padding: 18px;
}

.anil-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 13px;
}

.anil-section-heading h2 {
    margin: 0;
    color: #172943;
    font-size: 13px;
    font-weight: 950;
}

.anil-section-heading span {
    color: #8b95a4;
    font-size: 8px;
}

.anil-related-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.anil-related-card {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--anil-line);
    border-radius: 11px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.anil-related-card:hover {
    transform: translateY(-3px);
    border-color: #d8e0eb;
    box-shadow: var(--anil-shadow-hover);
}

.anil-related-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 165px;
    padding: 15px;
    border-bottom: 1px solid #edf0f5;
}

.anil-related-image img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 137px !important;
    object-fit: contain;
}

.anil-related-body {
    padding: 11px 11px 12px;
    text-align: right;
}

.anil-related-body h3 {
    min-height: 38px;
    margin: 0;
    overflow: hidden;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.85;
}

.anil-related-body h3 a {
    color: #2a3e5b;
}

.anil-related-price {
    min-height: 27px;
    margin-top: 7px;
    color: var(--anil-navy);
    font-size: 9px;
    font-weight: 950;
}

.anil-related-price .woocommerce-Price-amount {
    color: inherit !important;
}

.anil-related-price del {
    color: #a3adba !important;
    font-size: 7px;
}

.anil-related-price ins {
    text-decoration: none;
}

.anil-related-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    margin-top: 6px;
    padding: 0 10px;
    color: #345784;
    background: #f5f8fd;
    border: 1px solid #e1e7ef;
    border-radius: 7px;
    font-size: 8px;
    font-weight: 900;
}

.anil-related-button:hover {
    color: #fff;
    background: var(--anil-navy);
    border-color: var(--anil-navy);
}

/* Legacy BP Woo Price Manager blocks are replaced by our own live cards. */
.anil-product-page #bp-wpm-pack-price-split,
.anil-product-page #custom-variation-info {
    display: none !important;
}

/* ------------------------------------------------------------------------
   RESPONSIVE — large tablet / small desktop
   ------------------------------------------------------------------------ */

@media (max-width: 1320px) {
    body.single-product #content > .container,
    body.single-product .main-content > .container {
        width: min(1180px, calc(100% - 24px));
    }

    .anil-modern-grid {
        grid-template-columns: 255px minmax(350px, 1fr) minmax(390px, 1.08fr);
        gap: 11px;
    }

    .anil-info-column {
        padding: 18px;
    }

    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image {
        height: 410px !important;
        min-height: 410px !important;
        max-height: 410px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        max-height: 390px !important;
    }

   .anil-pack-inline {
        grid-template-columns: 1fr 1fr;
    }

    .anil-pack-info-card {
        grid-column: 1 / -1;
        min-height: auto;
    }

    .anil-related-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* ------------------------------------------------------------------------
   RESPONSIVE — tablet: gallery + info first, buying card below
   ------------------------------------------------------------------------ */

@media (max-width: 1050px) {
    body.single-product #content > .container,
    body.single-product .main-content > .container {
        width: calc(100% - 20px);
    }

    .anil-modern-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "info gallery"
            "buy buy";
    }

    .anil-buy-column {
        position: static;
        grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr);
        align-items: stretch;
    }

    .anil-buy-card {
        grid-row: 1 / span 2;
    }

    .anil-side-actions {
        align-self: stretch;
    }

    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image {
        height: 370px !important;
        min-height: 370px !important;
        max-height: 370px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        max-height: 350px !important;
    }

    .anil-details-layout {
        grid-template-columns: 1fr;
    }

    .anil-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ------------------------------------------------------------------------
   RESPONSIVE — mobile
   ------------------------------------------------------------------------ */

@media (max-width: 767px) {
    body.single-product #content > .container,
    body.single-product .main-content > .container {
        width: calc(100% - 14px);
    }

    body.single-product .woocommerce-breadcrumb {
        margin: 10px 0 8px;
        padding-inline: 2px;
        font-size: 8px;
    }

    .anil-modern-grid {
        display: flex;
        flex-direction: column;
        gap: 9px;
    }

    .anil-gallery-column { order: 1; width: 100%; }
    .anil-info-column { order: 2; width: 100%; }
    .anil-buy-column { order: 3; width: 100%; }

    .anil-buy-column {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .anil-buy-card {
        grid-row: auto;
    }

    .anil-gallery-column {
        padding: 10px;
    }

    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        max-height: 300px !important;
    }

    .anil-gallery-column .product-thumbs,
    .anil-gallery-column .product-thumbs .swiper-wrapper,
    .anil-gallery-column .product-thumbs .swiper-slide {
        height: 62px !important;
        min-height: 62px !important;
    }

    .anil-gallery-column .product-thumbs .swiper-slide {
        width: 62px !important;
    }

    .anil-gallery-service-card {
        grid-template-columns: 32px minmax(0, 1fr);
        min-height: 64px;
        padding: 9px;
    }

    .anil-gallery-service-card > span {
        width: 32px;
        height: 32px;
    }

    .anil-gallery-service-card b {
        font-size: 8px;
    }

    .anil-gallery-service-strip > div {
        grid-template-columns: 22px minmax(0, 1fr);
        padding: 7px;
    }

    .anil-info-column {
        padding: 16px 14px 14px;
    }

    .anil-info-toolbar {
        margin-bottom: 13px;
    }

    .anil-tool-button {
        width: 35px;
        height: 35px;
    }

    .anil-product-title {
        font-size: 20px;
        line-height: 1.7;
    }

    .anil-feature-grid {
        gap: 6px;
    }

    .anil-feature-item {
        grid-template-columns: 29px minmax(0, 1fr);
        padding: 7px;
    }

    .anil-feature-icon {
        width: 29px;
        height: 29px;
    }

    .anil-purchase-area table.variations tr {
        grid-template-columns: 72px minmax(0, 1fr);
    }

   .anil-pack-inline {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }

    .anil-pack-info-card {
        grid-column: 1 / -1;
    }

    .anil-price-card {
        min-height: 105px;
    }

    .anil-primary-price-row {
        align-items: flex-start;
    }

    .anil-center-service-strip {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .anil-center-service-strip > div {
        padding: 7px 0;
        border-left: 0;
        border-bottom: 1px solid var(--anil-line);
    }

    .anil-center-service-strip > div:last-child {
        border-bottom: 0;
    }

    .anil-details-layout {
        gap: 9px;
        margin-top: 9px;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs {
        justify-content: flex-start;
        padding: 6px !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li a {
        padding: 0 9px !important;
        font-size: 8px !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel {
        padding: 17px 14px !important;
        font-size: 9px;
    }

    .anil-spec-card {
        padding: 14px;
    }

    .anil-spec-list > div {
        grid-template-columns: 23px 82px minmax(0, 1fr);
    }

    .anil-related-section {
        margin-top: 9px;
        padding: 13px 10px;
    }

    .anil-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .anil-related-image {
        height: 135px;
        padding: 10px;
    }

    .anil-related-image img {
        max-height: 115px !important;
    }

    .anil-related-body {
        padding: 9px;
    }

    .anil-related-body h3 {
        min-height: 36px;
        font-size: 8px;
    }
}

/* Server-detected mobile fallback (not dependent on Safari's viewport report). */
body.body_ismobile .anil-variation-zone,
body.body_ismobile .anil-purchase-area,
body.body_ismobile .anil-purchase-area form.cart,
body.body_ismobile .anil-purchase-area form.variations_form,
body.body_ismobile .anil-purchase-area table.variations,
body.body_ismobile .anil-purchase-area table.variations tbody {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.body_ismobile .anil-purchase-area table.variations tbody > tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.body_ismobile .anil-purchase-area table.variations th.label,
body.body_ismobile .anil-purchase-area table.variations td.value,
body.body_ismobile .anil-purchase-area table.variations select {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.body_ismobile .anil-purchase-area table.variations select {
    height: 46px !important;
    min-height: 46px !important;
}

body.body_ismobile .anil-purchase-area .single_variation_wrap > .single_variation,
body.body_ismobile .anil-purchase-area .woocommerce-variation.single_variation,
body.body_ismobile .anil-purchase-area .woocommerce-variation-description,
body.body_ismobile .anil-purchase-area .woocommerce-variation-price,
body.body_ismobile .anil-purchase-area .woocommerce-variation-availability {
    display: none !important;
}

@media (max-width: 420px) {
    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image {
        height: 285px !important;
        min-height: 285px !important;
        max-height: 285px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        max-height: 267px !important;
    }

    .anil-product-title {
        font-size: 18px;
    }

    .anil-product-inline-meta {
        gap: 6px 10px;
    }

    .anil-product-inline-meta span:not(:last-child)::after {
        display: none;
    }

    .anil-feature-copy small {
        max-width: 110px;
    }

   .anil-pack-inline {
        grid-template-columns: 1fr;
    }

    .anil-pack-info-card {
        grid-column: auto;
    }
}

/* Small interaction feedback */
.anil-variation-zone.anil-needs-selection {
    border-color: #ffb4b7;
    border-radius: 10px;
    box-shadow: 0 0 0 4px rgba(239, 61, 69, .06);
    animation: anilSelectionNudge .35s ease 2;
}

.anil-tool-button.is-copied {
    color: var(--anil-green);
    border-color: #a9dfc6;
    background: #f0fbf6;
}

@keyframes anilSelectionNudge {
    0%, 100% { transform: translateX(0); }
    35% { transform: translateX(3px); }
    70% { transform: translateX(-3px); }
}

/* ========================================================================
   V2 — readability + variation stability polish
   ======================================================================== */
#anil-pack-inline {
    transition: opacity .18s ease, filter .18s ease, transform .18s ease;
}

#anil-pack-inline.is-updating {
    opacity: .58;
    filter: saturate(.72);
}

@media (min-width: 768px) {
    body.single-product .woocommerce-breadcrumb {
        font-size: 12px;
    }

    .anil-buy-head strong { font-size: 14px; }
    .anil-buy-head small { font-size: 10.5px; }
    .anil-sidebar-price-label { font-size: 11px; }
    .anil-sidebar-price,
    .anil-sidebar-price .price { font-size: 22px !important; }
    .anil-sidebar-price del { font-size: 11px !important; }
    .anil-sidebar-stock,
    .anil-stock-dynamic { font-size: 11.5px; }

    .anil-sidebar-service b { font-size: 11.5px; }
    .anil-sidebar-service small { font-size: 9.5px; }
    .anil-sidebar-qty-row > span { font-size: 11.5px; }
    .anil-proxy-cart-button,
    .anil-quote-button { font-size: 12.5px !important; }
    .anil-side-mini-card b { font-size: 11.5px; }
    .anil-side-mini-card small { font-size: 9.5px; }
    .anil-side-action { font-size: 10.5px; }

    .anil-product-title {
        font-size: clamp(25px, 1.8vw, 34px);
        line-height: 1.55;
    }

    .anil-rating-row { font-size: 10.5px; }
    .anil-rating-row .star-rating { font-size: 12px; }
    .anil-product-inline-meta { font-size: 10.5px; }
    .anil-short-description { font-size: 11.5px; }

    .anil-feature-copy strong { font-size: 11px; }
    .anil-feature-copy small { font-size: 9.5px; }

    .anil-variation-heading span { font-size: 12px; }
    .anil-variation-heading small { font-size: 10px; }
    .anil-purchase-area table.variations th.label { font-size: 11px; }
    .anil-purchase-area table.variations select { font-size: 11.5px !important; }
    .anil-purchase-area .reset_variations { font-size: 9.5px; }

    .anil-pack-card-head b { font-size: 11px; }
    .anil-pack-info-grid span { font-size: 10px; }
    .anil-pack-info-grid strong { font-size: 10.5px; }
    .anil-price-card-title { font-size: 10px; }
    .anil-price-card > strong { font-size: 17px; }
    .anil-price-card > small { font-size: 9px; }

    .anil-primary-price-row > div:first-child > span { font-size: 10px; }
    .anil-main-price,
    .anil-main-price .price,
    .anil-main-price .woocommerce-Price-amount { font-size: 21px !important; }
    .anil-main-price del,
    .anil-main-price del .woocommerce-Price-amount { font-size: 10px !important; }

    .anil-center-service-strip b { font-size: 10px; }
    .anil-center-service-strip small { font-size: 8.8px; }
    .anil-gallery-badge { font-size: 9px; }
    .anil-gallery-bottom-benefits b { font-size: 9px; }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li a { font-size: 10.5px !important; }
    .anil-tabs-section .woocommerce-Tabs-panel { font-size: 12px; }
    .anil-spec-card h2 { font-size: 14px; }
    .anil-spec-list b,
    .anil-spec-list em { font-size: 10px; }

    .anil-section-heading h2 { font-size: 15px; }
    .anil-section-heading span { font-size: 9.5px; }
    .anil-related-body h3 { font-size: 10.5px; }
    .anil-related-price { font-size: 11px; }
    .anil-related-price del { font-size: 8.5px; }
    .anil-related-button { font-size: 9.5px; }
}

@media (max-width: 767px) {
    body.single-product .woocommerce-breadcrumb { font-size: 10px; }
    .anil-buy-head strong { font-size: 13px; }
    .anil-buy-head small { font-size: 10px; }
    .anil-sidebar-price-label { font-size: 10.5px; }
    .anil-sidebar-price,
    .anil-sidebar-price .price { font-size: 20px !important; }
    .anil-sidebar-stock,
    .anil-stock-dynamic { font-size: 11px; }
    .anil-sidebar-service b { font-size: 11px; }
    .anil-sidebar-service small { font-size: 9px; }
    .anil-product-title { font-size: 22px; }
    .anil-product-inline-meta { font-size: 10px; }
    .anil-short-description { font-size: 11px; }
    .anil-feature-copy strong { font-size: 10.5px; }
    .anil-feature-copy small { font-size: 9px; }
    .anil-variation-heading span { font-size: 11.5px; }
    .anil-variation-heading small { font-size: 9.5px; }
    .anil-purchase-area table.variations th.label { font-size: 10.5px; }
    .anil-purchase-area table.variations select { font-size: 11px !important; }
    .anil-pack-card-head b { font-size: 10.5px; }
    .anil-pack-info-grid span { font-size: 9.5px; }
    .anil-pack-info-grid strong { font-size: 10px; }
    .anil-price-card-title { font-size: 9.5px; }
    .anil-price-card > strong { font-size: 16px; }
    .anil-price-card > small { font-size: 8.8px; }
    .anil-tabs-section .woocommerce-tabs > ul.tabs li a { font-size: 9.5px !important; }
    .anil-tabs-section .woocommerce-Tabs-panel { font-size: 11px; }
    .anil-related-body h3 { font-size: 9.5px; }
}


/* ANIL v2 — responsive safeguards for moved service/price blocks */
@media (max-width: 767px) {
    .anil-sidebar-pack-prices,
    .anil-gallery-service-cards,
    .anil-gallery-delivery-actions {
        grid-template-columns: 1fr 1fr;
    }

    .anil-gallery-service-strip {
        grid-template-columns: 1fr;
    }

    .anil-gallery-service-strip > div {
        border-left: 0;
        border-bottom: 1px solid #e8ecf2;
    }

    .anil-gallery-service-strip > div:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 480px) {
    .anil-sidebar-pack-prices,
    .anil-gallery-service-cards,
    .anil-gallery-delivery-actions {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================
   ANIL MOBILE PRODUCT — approved one-column storefront layout
   Desktop/tablet rules above remain untouched.
   ======================================================================== */
.anil-mobile-sticky-buy { display: none; }

@media (max-width: 767px) {
    body.single-product {
        padding-bottom: 92px;
        background: #f5f7fb;
    }

    body.single-product #content > .container,
    body.single-product .main-content > .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 8px;
    }

    .anil-product-page {
        --anil-radius: 12px;
        --anil-shadow: 0 3px 14px rgba(24, 49, 88, .045);
    }

    .anil-modern-shell { width: 100%; }

    .anil-modern-grid {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    /* Flatten the three desktop columns so every module receives its own
       intentional mobile position without duplicating the Woo cart form. */
    .anil-gallery-column,
    .anil-info-column,
    .anil-buy-column {
        display: contents;
    }

    .anil-gallery-badges { order: 1; }
    .anil-gallery-inner { order: 2; }
    .anil-info-toolbar { order: 3; }
    .anil-info-header { order: 4; }
    .anil-short-description { order: 5; }
    .anil-feature-grid { order: 6; }
    .anil-variation-zone { order: 7; }
    .anil-gallery-service-cards { order: 8; }
    .anil-gallery-service-strip { order: 9; }
    .anil-gallery-delivery-actions { order: 10; }
    .anil-buy-card { order: 11; }
    .anil-side-mini-card { order: 12; }
    .anil-side-actions { order: 13; }

    .anil-gallery-inner,
    .anil-info-toolbar,
    .anil-info-header,
    .anil-short-description,
    .anil-feature-grid,
    .anil-variation-zone,
    .anil-gallery-service-cards,
    .anil-gallery-service-strip,
    .anil-gallery-delivery-actions,
    .anil-buy-card,
    .anil-side-mini-card,
    .anil-side-actions {
        width: 100%;
        margin: 0;
    }

    .anil-gallery-inner {
        position: relative;
        overflow: hidden;
        padding: 10px;
        border: 1px solid var(--anil-line);
        border-radius: 13px;
        background: #fff;
        box-shadow: var(--anil-shadow);
    }

    .anil-gallery-badges {
        z-index: 6;
        align-self: flex-start;
        margin: 9px 9px -40px 0;
        pointer-events: none;
    }

    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        max-height: 278px !important;
        width: auto !important;
        margin-inline: auto !important;
        object-fit: contain !important;
    }

    .anil-info-toolbar {
        display: flex;
        justify-content: flex-start;
        gap: 7px;
        padding: 8px 10px;
        border: 1px solid var(--anil-line);
        border-radius: 11px;
        background: #fff;
    }

    .anil-tool-button {
        width: 36px;
        height: 36px;
        border-radius: 9px;
    }

    .anil-info-header {
        padding: 14px 13px 10px;
        border: 1px solid var(--anil-line);
        border-radius: 12px;
        background: #fff;
        box-shadow: var(--anil-shadow);
    }

    .anil-product-title {
        margin: 0 0 8px !important;
        font-size: 19px !important;
        line-height: 1.65 !important;
        color: #10254a;
    }

    .anil-product-inline-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 12px;
        padding-top: 8px;
        border-top: 1px solid #eef1f6;
        font-size: 10px;
    }

    .anil-short-description {
        padding: 11px 13px;
        border: 1px solid var(--anil-line);
        border-radius: 11px;
        background: #fff;
        line-height: 1.95;
    }

    .anil-feature-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 5px;
        padding: 9px 7px;
        border: 1px solid var(--anil-line);
        border-radius: 11px;
        background: #fff;
    }

    .anil-feature-item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        min-width: 0;
        min-height: 72px;
        padding: 6px 3px;
        text-align: center;
        border: 0;
        border-left: 1px solid #edf0f5;
        background: transparent;
    }

    .anil-feature-item:last-child { border-left: 0; }
    .anil-feature-icon { width: 28px; height: 28px; margin-inline: auto; }
    .anil-feature-copy strong { font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .anil-feature-copy small { display: none; }

    .anil-variation-zone {
        padding: 13px 11px;
        border: 1px solid #dfe6f0;
        border-radius: 12px;
        background: #fff;
        box-shadow: var(--anil-shadow);
    }

    .anil-variation-heading {
        margin-bottom: 10px;
        padding-bottom: 9px;
        border-bottom: 1px solid #edf1f6;
    }

    .anil-purchase-area table.variations tr {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px;
        margin-bottom: 9px;
    }

    .anil-purchase-area table.variations th,
    .anil-purchase-area table.variations td { width: 100% !important; }

    .anil-purchase-area table.variations select {
        width: 100% !important;
        min-height: 43px;
        padding: 0 12px !important;
        border: 1px solid #dce4ef !important;
        border-radius: 9px !important;
        background-color: #fbfcfe !important;
        font-size: 12px !important;
    }

    .anil-purchase-area .single_variation_wrap .woocommerce-variation-add-to-cart,
    .anil-purchase-area .single_add_to_cart_button,
    .anil-purchase-area .quantity { display: none !important; }

    .anil-pack-inline { grid-template-columns: 1fr !important; gap: 7px; }
    .anil-pack-info-card { grid-column: auto; }

    .anil-gallery-service-cards {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 7px;
    }

    .anil-gallery-service-card {
        min-height: 72px;
        padding: 11px 12px;
        border: 1px solid #dfe7f1;
        border-radius: 11px;
        background: #fff;
    }

    .anil-gallery-service-card:first-child {
        grid-template-columns: 48px minmax(0, 1fr);
        border-color: #d8eadf;
        background: linear-gradient(90deg, #fff, #f5fcf8);
    }

    .anil-gallery-service-card:first-child > span {
        width: 45px;
        height: 45px;
        color: #18a75f;
        background: #e9f8f0;
    }

    .anil-gallery-service-card:not(:first-child) { display: none; }

    .anil-gallery-service-strip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0;
        padding: 7px 4px;
        border: 1px solid var(--anil-line);
        border-radius: 11px;
        background: #fff;
    }

    .anil-gallery-service-strip > div {
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 7px 3px !important;
        text-align: center;
        border: 0 !important;
        border-left: 1px solid #edf0f5 !important;
    }

    .anil-gallery-service-strip > div:last-child { border-left: 0 !important; }
    .anil-gallery-service-strip > div > span { margin-inline: auto; }
    .anil-gallery-service-strip small { display: none; }

    .anil-gallery-delivery-actions {
        display: grid;
        grid-template-columns: 1fr 1fr !important;
        gap: 7px;
    }

    .anil-gallery-delivery-btn {
        min-height: 47px;
        border-radius: 10px !important;
        font-size: 11px !important;
    }

    .anil-buy-card {
        padding: 0;
        overflow: hidden;
        border: 1px solid #dfe6f0;
        border-radius: 12px;
        background: #fff;
    }

    .anil-buy-head { min-height: 55px; padding: 10px 12px; }
    .anil-sidebar-pack-prices { grid-template-columns: 1fr 1fr !important; gap: 7px; padding: 10px; }
    .anil-sidebar-pack-card { min-height: 94px; padding: 9px; }
    .anil-payable-price-box { margin: 0 10px 10px; padding: 12px; }
    .anil-sidebar-qty-row { margin: 0 10px 9px; }
    .anil-proxy-cart-button,
    .anil-quote-button { margin-inline: 10px !important; width: calc(100% - 20px) !important; min-height: 48px; border-radius: 10px !important; }
    .anil-quote-button { margin-bottom: 10px !important; }

    .anil-side-mini-card,
    .anil-side-actions {
        border: 1px solid var(--anil-line);
        border-radius: 11px;
        background: #fff;
    }

    .anil-details-layout { display: flex; flex-direction: column; margin-top: 8px; }
    .anil-tabs-section { order: 1; overflow: hidden; }
    .anil-spec-card { order: 2; }

    .anil-tabs-section .woocommerce-tabs > ul.tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scrollbar-width: none;
        justify-content: flex-start;
        padding: 5px !important;
        border-bottom: 1px solid #e7ebf2 !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs::-webkit-scrollbar { display: none; }
    .anil-tabs-section .woocommerce-tabs > ul.tabs li { flex: 0 0 auto; }
    .anil-tabs-section .woocommerce-tabs > ul.tabs li a {
        min-height: 38px;
        padding: 0 13px !important;
        font-size: 10px !important;
        white-space: nowrap;
    }

    .anil-tabs-section .woocommerce-Tabs-panel {
        max-height: 560px;
        overflow: hidden;
        position: relative;
        padding: 16px 13px 52px !important;
        font-size: 11px;
        line-height: 2.15;
    }

    .anil-tabs-section .woocommerce-Tabs-panel::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 72px;
        background: linear-gradient(transparent, #fff 72%);
        pointer-events: none;
    }

    .anil-spec-list > div {
        grid-template-columns: 30px minmax(88px, .8fr) minmax(0, 1.2fr);
        min-height: 50px;
        padding: 8px;
        border-radius: 8px;
        background: #f2f6fb;
    }

    .anil-related-section { padding: 13px 9px; overflow: hidden; }
    .anil-related-grid {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 7px;
        scrollbar-width: none;
    }
    .anil-related-grid::-webkit-scrollbar { display: none; }
    .anil-related-card { flex: 0 0 43%; min-width: 145px; scroll-snap-align: start; }
    .anil-related-image { height: 125px; }

    .anil-mobile-sticky-buy {
        position: fixed;
        z-index: 9998;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(165px, 1.1fr);
        align-items: center;
        gap: 9px;
        min-height: 78px;
        padding: 9px max(10px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
        border-top: 1px solid #dde4ee;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -7px 25px rgba(16, 34, 64, .11);
        backdrop-filter: blur(10px);
    }

    .anil-mobile-sticky-price { min-width: 0; }
    .anil-mobile-sticky-price > span,
    .anil-mobile-sticky-price > small { display: block; color: #758197; font-size: 8.5px; }
    .anil-mobile-sticky-price > strong,
    .anil-mobile-sticky-price .price,
    .anil-mobile-sticky-price .woocommerce-Price-amount { color: #102c67; font-size: 16px !important; font-style: normal; white-space: nowrap; }
    .anil-mobile-sticky-price del { display: none; }

    .anil-mobile-sticky-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 52px;
        padding: 0 12px;
        border: 0;
        border-radius: 11px;
        color: #fff;
        background: linear-gradient(135deg, var(--anil-orange), var(--anil-orange-2));
        box-shadow: 0 7px 16px rgba(23, 140, 255, .25);
        font-size: 12px;
    }

    .anil-mobile-sticky-cart svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .anil-mobile-sticky-cart:disabled { opacity: .55; box-shadow: none; }
}

@media (max-width: 380px) {
    .anil-product-title { font-size: 17px !important; }
    .anil-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .anil-feature-item:nth-child(2) { border-left: 0; }
    .anil-sidebar-pack-prices { grid-template-columns: 1fr 1fr !important; }
    .anil-mobile-sticky-buy { grid-template-columns: minmax(0, .8fr) minmax(158px, 1.2fr); }
}

/* ========================================================================
   ANIL MOBILE V4 — fully responsive tabs and unclipped long content
   ======================================================================== */
@media (max-width: 767px) {
    .anil-details-layout,
    .anil-tabs-section,
    .anil-tabs-section .woocommerce-tabs,
    .anil-tabs-section .woocommerce-Tabs-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .anil-tabs-section {
        overflow: visible !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 7px !important;
        overflow: visible !important;
        border-bottom: 1px solid #e5eaf2 !important;
        background: #f7f9fc !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs::before,
    .anil-tabs-section .woocommerce-tabs > ul.tabs::after {
        display: none !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #e0e6ef !important;
        border-radius: 9px !important;
        background: #fff !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li::before,
    .anil-tabs-section .woocommerce-tabs > ul.tabs li::after {
        display: none !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 43px !important;
        padding: 6px 5px !important;
        overflow: hidden !important;
        color: #425069 !important;
        font-size: 9.5px !important;
        line-height: 1.45 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li.active {
        border-color: #9db9ef !important;
        background: #eef4ff !important;
        box-shadow: inset 0 -2px 0 var(--anil-blue) !important;
    }

    .anil-tabs-section .woocommerce-tabs > ul.tabs li.active a {
        color: var(--anil-navy) !important;
        font-weight: 700 !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 16px 12px !important;
        overflow: visible !important;
        color: #1e2d43;
        font-size: 11px !important;
        line-height: 2.15 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel::after {
        display: none !important;
        content: none !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel > *,
    .anil-tabs-section .woocommerce-Tabs-panel p,
    .anil-tabs-section .woocommerce-Tabs-panel div,
    .anil-tabs-section .woocommerce-Tabs-panel section,
    .anil-tabs-section .woocommerce-Tabs-panel article {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel p,
    .anil-tabs-section .woocommerce-Tabs-panel li,
    .anil-tabs-section .woocommerce-Tabs-panel h2,
    .anil-tabs-section .woocommerce-Tabs-panel h3,
    .anil-tabs-section .woocommerce-Tabs-panel h4 {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel img,
    .anil-tabs-section .woocommerce-Tabs-panel video,
    .anil-tabs-section .woocommerce-Tabs-panel iframe {
        max-width: 100% !important;
        height: auto !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel table {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .anil-tabs-section .woocommerce-Tabs-panel th,
    .anil-tabs-section .woocommerce-Tabs-panel td {
        height: auto !important;
        padding: 8px 6px !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
}

@media (max-width: 360px) {
    .anil-tabs-section .woocommerce-tabs > ul.tabs li a {
        min-height: 46px !important;
        font-size: 8.8px !important;
    }
}

/* ========================================================================
   ANIL MOBILE V3 — approved title/gallery/quote/express/sticky-price UX
   ======================================================================== */
.anil-mobile-express-card,
.anil-mobile-data-grid { display: none; }

@media (max-width: 767px) {
    body.single-product { padding-bottom: 76px; }

    /* The buy card is flattened only on mobile. Its functional WooCommerce
       controls stay singular, while each visual module can be ordered. */
    .anil-buy-card { display: contents; }

    .anil-info-header { order: 1; }
    .anil-gallery-badges { order: 2; }
    .anil-gallery-inner { order: 3; }
    .anil-quote-button { order: 4; }
    .anil-mobile-express-card { order: 5; }
    .anil-mobile-data-grid { order: 6; }
    .anil-variation-zone { order: 7; }
    .anil-gallery-service-cards { order: 8; }
    .anil-gallery-service-strip { order: 9; }
    .anil-gallery-delivery-actions { order: 10; }
    .anil-sidebar-qty-row { order: 11; }
    .anil-proxy-cart-button { order: 12; }
    .anil-side-mini-card { order: 13; }
    .anil-side-actions { order: 14; }

    .anil-info-toolbar,
    .anil-short-description,
    .anil-feature-grid,
    .anil-buy-head,
    .anil-sidebar-pack-prices,
    .anil-payable-price-box,
    .anil-sidebar-separator { display: none !important; }

    .anil-info-header {
        padding: 13px 12px;
        text-align: right;
    }

    .anil-info-header .anil-rating-row { margin-top: 6px; }

    .anil-product-title {
        margin-bottom: 9px !important;
        font-size: 20px !important;
        text-align: right;
    }

    .anil-gallery-badges { margin-top: 8px; }

    .anil-quote-button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100% !important;
        min-height: 48px;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1.5px solid var(--anil-navy) !important;
        border-radius: 11px !important;
        color: var(--anil-navy) !important;
        background: #fff !important;
        box-shadow: none !important;
        font-size: 12px !important;
    }

    .anil-quote-button span {
        display: grid;
        place-items: center;
        width: 25px;
        height: 25px;
        border-radius: 7px;
        color: #fff;
        background: var(--anil-navy);
        font-size: 12px;
    }

    .anil-mobile-express-card {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 82px;
        padding: 11px 12px;
        border: 1px solid #e2e8f1;
        border-radius: 12px;
        background: linear-gradient(110deg, #fff 45%, #fff8f1);
        box-shadow: var(--anil-shadow);
    }

    .anil-mobile-express-icon {
        display: grid;
        place-items: center;
        width: 50px;
        height: 50px;
        border-radius: 13px;
        color: var(--anil-orange-2);
        background: #dfefff;
    }

    .anil-mobile-express-icon svg {
        width: 30px;
        height: 30px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .anil-mobile-express-copy b,
    .anil-mobile-express-copy small { display: block; }
    .anil-mobile-express-copy b { color: #162b4e; font-size: 12px; }
    .anil-mobile-express-copy small { margin-top: 5px; color: #78849a; font-size: 9.5px; }
    .anil-mobile-express-card em {
        padding: 4px 7px;
        border-radius: 7px;
        color: #0d7be8;
        background: #e0f0ff;
        font-size: 9px;
        font-style: normal;
    }

    .anil-mobile-data-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
        padding: 8px;
        border: 1px solid #e4e9f1;
        border-radius: 12px;
        background: #fff;
    }

    .anil-mobile-data-card {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-height: 65px;
        padding: 8px;
        border: 1px solid #edf0f5;
        border-radius: 10px;
        background: #fcfdff;
        box-shadow: 0 2px 8px rgba(25, 45, 76, .035);
    }

    .anil-mobile-data-icon {
        display: grid;
        place-items: center;
        width: 33px;
        height: 33px;
        border-radius: 9px;
        color: var(--anil-navy);
        background: #eef4ff;
    }

    .anil-mobile-data-icon svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
    }

    .anil-mobile-data-card small,
    .anil-mobile-data-card b { display: block; min-width: 0; }
    .anil-mobile-data-card small { margin-bottom: 4px; color: #7a8699; font-size: 8.5px; }
    .anil-mobile-data-card b { overflow: hidden; color: #172d50; font-size: 10.5px; line-height: 1.65; text-overflow: ellipsis; }

    .anil-sidebar-qty-row {
        width: 100%;
        min-height: 58px;
        margin: 0;
        padding: 9px 12px;
        border: 1px solid #e1e7ef;
        border-radius: 11px;
        background: #fff;
    }

    .anil-proxy-cart-button {
        width: 100% !important;
        min-height: 49px;
        margin: 0 !important;
        border-radius: 11px !important;
    }

    .anil-mobile-sticky-buy {
        grid-template-columns: minmax(0, 1.35fr) minmax(142px, .85fr);
        gap: 8px;
        min-height: 68px;
        padding-top: 6px;
        padding-bottom: calc(6px + env(safe-area-inset-bottom));
    }

    .anil-mobile-sticky-price {
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        align-items: center;
        gap: 0;
        min-width: 0;
        direction: rtl;
    }

    .anil-mobile-sticky-price > span {
        display: block;
        min-width: 0;
        padding: 0 7px;
    }

    .anil-mobile-price-unit { border-left: 1px solid #e5e9ef; }
    .anil-mobile-sticky-price small { display: block; margin-bottom: 2px; color: #7c8798; font-size: 7.5px; white-space: nowrap; }
    .anil-mobile-sticky-price strong,
    .anil-mobile-sticky-price .price,
    .anil-mobile-sticky-price .woocommerce-Price-amount {
        display: block;
        overflow: hidden;
        color: #243853;
        font-size: 11px !important;
        line-height: 1.5;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .anil-mobile-price-payable strong,
    .anil-mobile-price-payable .price,
    .anil-mobile-price-payable .woocommerce-Price-amount {
        color: var(--anil-orange-2);
        font-size: 13px !important;
        font-weight: 800;
    }

    .anil-mobile-sticky-cart {
        min-height: 48px;
        padding-inline: 9px;
        font-size: 10.5px;
    }
}

@media (max-width: 380px) {
    .anil-mobile-sticky-buy { grid-template-columns: minmax(0, 1.4fr) minmax(128px, .8fr); }
    .anil-mobile-sticky-price > span { padding-inline: 5px; }
    .anil-mobile-sticky-price strong,
    .anil-mobile-sticky-price .price,
    .anil-mobile-sticky-price .woocommerce-Price-amount { font-size: 9.5px !important; }
    .anil-mobile-price-payable strong,
    .anil-mobile-price-payable .price,
    .anil-mobile-price-payable .woocommerce-Price-amount { font-size: 11px !important; }
    .anil-mobile-sticky-cart { font-size: 9.5px; }
}

/* ========================================================================
   ANIL MOBILE V5 — compact product gallery
   ======================================================================== */
@media (max-width: 767px) {
    .anil-gallery-inner {
        position: relative;
        padding: 4px 4px 8px !important;
        overflow: hidden;
        border-color: #e8edf4 !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 12px rgba(24, 47, 82, .045) !important;
    }

    .anil-gallery-column .images,
    .anil-gallery-column .gallery-with-images,
    .anil-gallery-column .woocommerce-product-gallery,
    .anil-gallery-column .product-images {
        margin-bottom: 0 !important;
    }

    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__wrapper,
    .anil-gallery-column .woocommerce-product-gallery__image,
    .anil-gallery-column .flex-viewport {
        height: 224px !important;
        min-height: 224px !important;
        max-height: 224px !important;
    }

    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__image,
    .anil-gallery-column .woocommerce-product-gallery__image > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img {
        width: auto !important;
        height: auto !important;
        max-width: 92% !important;
        max-height: 208px !important;
        margin: auto !important;
        object-fit: contain !important;
    }

    .anil-gallery-column .thumbnails,
    .anil-gallery-column .product-thumbs,
    .anil-gallery-column .flex-control-thumbs {
        height: 54px !important;
        min-height: 54px !important;
        margin: 5px 0 0 !important;
        padding: 2px 4px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    .anil-gallery-column .thumbnails::-webkit-scrollbar,
    .anil-gallery-column .product-thumbs::-webkit-scrollbar,
    .anil-gallery-column .flex-control-thumbs::-webkit-scrollbar { display: none; }

    .anil-gallery-column .product-thumbs .swiper-wrapper,
    .anil-gallery-column .flex-control-thumbs {
        display: flex !important;
        align-items: center;
        gap: 6px;
    }

    .anil-gallery-column .product-thumbs .swiper-slide,
    .anil-gallery-column .flex-control-thumbs li {
        flex: 0 0 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 3px !important;
        overflow: hidden;
        border: 1px solid #e2e8f0 !important;
        border-radius: 9px !important;
        background: #fff;
    }

    .anil-gallery-column .product-thumbs .swiper-slide-thumb-active,
    .anil-gallery-column .flex-control-thumbs img.flex-active {
        border-color: var(--anil-orange-2) !important;
        box-shadow: 0 0 0 1px var(--anil-orange-2) !important;
    }

    .anil-gallery-column .product-thumbs img,
    .anil-gallery-column .flex-control-thumbs img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        border-radius: 6px;
        object-fit: contain !important;
    }

    .anil-gallery-counter {
        position: absolute;
        z-index: 8;
        right: 10px;
        bottom: 67px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 42px;
        height: 25px;
        padding: 0 8px;
        border: 1px solid rgba(255, 255, 255, .8);
        border-radius: 999px;
        color: #fff;
        background: rgba(17, 38, 70, .72);
        backdrop-filter: blur(5px);
        font-size: 9px;
        font-weight: 700;
        pointer-events: none;
    }

    .anil-single-gallery-image .anil-gallery-counter,
    .anil-single-gallery-image .thumbnails,
    .anil-single-gallery-image .product-thumbs,
    .anil-single-gallery-image .flex-control-thumbs { display: none !important; }

    .anil-single-gallery-image { padding-bottom: 4px !important; }
}

@media (max-width: 380px) {
    .anil-gallery-column .product-images,
    .anil-gallery-column .product-images .swiper-wrapper,
    .anil-gallery-column .product-images .swiper-slide,
    .anil-gallery-column .woocommerce-product-gallery__wrapper,
    .anil-gallery-column .woocommerce-product-gallery__image,
    .anil-gallery-column .flex-viewport {
        height: 205px !important;
        min-height: 205px !important;
        max-height: 205px !important;
    }

    .anil-gallery-column .woocommerce-product-gallery__image img,
    .anil-gallery-column img.woocommerce-main-image,
    .anil-gallery-column .product-images img { max-height: 190px !important; }
}

/* ========================================================================
   ANIL MOBILE V6 — independent gallery (theme gallery is desktop-only)
   ======================================================================== */
.anil-mobile-gallery,
.anil-mobile-gallery-lightbox { display: none; }

@media (max-width: 767px) {
    .anil-gallery-inner { display: none !important; }

    .anil-mobile-gallery {
        position: relative;
        order: 3;
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 7px;
        overflow: hidden;
        border: 1px solid #e4eaf2;
        border-radius: 13px;
        background: #fff;
        box-shadow: 0 4px 16px rgba(20, 46, 84, .055);
        direction: rtl;
    }

    .anil-mobile-gallery-stage {
        position: relative;
        width: 100%;
        height: 220px;
        overflow: hidden;
        border-radius: 10px;
        background: #fff;
        touch-action: pan-y;
    }

    .anil-mobile-gallery-main {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 7px;
        border: 0;
        outline: 0;
        background: transparent;
        cursor: zoom-in;
    }

    .anil-mobile-gallery-main img {
        display: block;
        width: auto !important;
        height: auto !important;
        max-width: 94% !important;
        max-height: 202px !important;
        margin: auto !important;
        object-fit: contain !important;
    }

    .anil-mobile-gallery-arrow {
        position: absolute;
        z-index: 4;
        top: 50%;
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        margin: 0;
        padding: 0;
        transform: translateY(-50%);
        border: 1px solid #e1e7ef;
        border-radius: 50%;
        color: #15356f;
        background: rgba(255, 255, 255, .93);
        box-shadow: 0 3px 10px rgba(24, 45, 75, .1);
        font-size: 18px;
        line-height: 1;
    }

    .anil-mobile-gallery-arrow.is-prev { right: 7px; }
    .anil-mobile-gallery-arrow.is-next { left: 7px; }

    .anil-mobile-gallery-count {
        position: absolute;
        z-index: 4;
        right: 9px;
        bottom: 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 45px;
        height: 25px;
        padding: 0 9px;
        border-radius: 999px;
        color: #fff;
        background: rgba(20, 42, 77, .75);
        backdrop-filter: blur(5px);
        font-size: 9px;
        font-weight: 700;
        pointer-events: none;
    }

    .anil-mobile-gallery-zoom {
        position: absolute;
        z-index: 4;
        left: 9px;
        top: 8px;
        display: grid;
        place-items: center;
        width: 31px;
        height: 31px;
        border: 1px solid #e2e8f0;
        border-radius: 9px;
        color: #15356f;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 3px 10px rgba(24, 45, 75, .08);
        pointer-events: none;
    }

    .anil-mobile-gallery-zoom svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
    }

    .anil-mobile-gallery-thumbs {
        display: flex;
        align-items: center;
        gap: 7px;
        width: 100%;
        min-width: 0;
        height: 57px;
        margin-top: 5px;
        padding: 3px 2px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .anil-mobile-gallery-thumbs::-webkit-scrollbar { display: none; }

    .anil-mobile-gallery-thumb {
        flex: 0 0 49px;
        display: grid;
        place-items: center;
        width: 49px;
        height: 49px;
        margin: 0;
        padding: 3px;
        overflow: hidden;
        border: 1px solid #dfe6ef;
        border-radius: 9px;
        background: #fff;
        transition: border-color .18s ease, box-shadow .18s ease;
    }

    .anil-mobile-gallery-thumb.is-active {
        border-color: var(--anil-orange-2);
        box-shadow: 0 0 0 1px var(--anil-orange-2);
    }

    .anil-mobile-gallery-thumb img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        object-fit: contain !important;
    }

    .anil-mobile-gallery-lightbox {
        position: fixed;
        z-index: 999999;
        inset: 0;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 52px 14px 20px;
        background: rgba(7, 18, 36, .94);
    }

    .anil-mobile-gallery-lightbox.is-open { display: flex; }

    .anil-mobile-gallery-lightbox img {
        display: block;
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: calc(100dvh - 80px);
        object-fit: contain;
    }

    .anil-mobile-gallery-lightbox-close {
        position: absolute;
        top: max(12px, env(safe-area-inset-top));
        left: 14px;
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .25);
        border-radius: 50%;
        color: #fff;
        background: rgba(255, 255, 255, .12);
        font-size: 27px;
        line-height: 1;
    }

    html.anil-gallery-lightbox-open,
    body.anil-gallery-lightbox-open { overflow: hidden !important; }
}

@media (max-width: 380px) {
    .anil-mobile-gallery-stage { height: 202px; }
    .anil-mobile-gallery-main img { max-height: 186px !important; }
}

/* Desktop express delivery card — replaces the old shipping calculator. */
@media (min-width: 768px) {
    .anil-desktop-express-card.anil-side-mini-card {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        width: 100%;
        min-height: 68px;
        padding: 10px 12px;
        border: 1px solid #e2e8f1;
        border-radius: 12px;
        background: linear-gradient(110deg, #fff 45%, #fff8f1);
        box-shadow: 0 5px 18px rgba(16, 44, 103, .07);
        direction: rtl;
        box-sizing: border-box;
    }

    .anil-desktop-express-card.anil-side-mini-card > .anil-mobile-express-icon {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        min-width: 40px;
        color: var(--anil-orange-2);
        background: #dfefff;
        border-radius: 11px;
    }

    .anil-desktop-express-card .anil-mobile-express-icon img {
        display: block;
        width: 28px;
        height: 28px;
        object-fit: contain;
    }

    .anil-desktop-express-card > .anil-mobile-express-copy {
        display: block;
        width: auto;
        height: auto;
        min-width: 0;
        color: inherit;
        background: transparent;
        border-radius: 0;
    }

    .anil-desktop-express-card .anil-mobile-express-copy b,
    .anil-desktop-express-card .anil-mobile-express-copy small {
        display: block;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }

    .anil-desktop-express-card .anil-mobile-express-copy b {
        margin: 0;
        color: #162b4e;
        font-size: 10.5px;
        font-weight: 900;
        line-height: 1.7;
    }

    .anil-desktop-express-card .anil-mobile-express-copy small {
        margin-top: 3px;
        color: #78849a;
        font-size: 8px;
        line-height: 1.7;
    }

    .anil-desktop-express-card > em {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 4px 6px;
        border-radius: 7px;
        color: #0d7be8;
        background: #e0f0ff;
        font-size: 8px;
        font-style: normal;
        line-height: 1.4;
        white-space: nowrap;
    }

    .anil-quote-button .anil-quote-icon {
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        object-fit: contain;
        flex: 0 0 24px;
    }
}

/* Mobile already has its own express card; never show the desktop copy. */
@media (max-width: 767px) {
    .anil-desktop-express-card.anil-side-mini-card {
        display: none !important;
    }

    .anil-quote-button .anil-quote-icon {
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        object-fit: contain;
    }
}

/* ========================================================================
   ANIL MOBILE V11 — vertical quantity inside the fixed buy bar
   ======================================================================== */
@media (max-width: 767px) {
    .anil-buy-column .anil-sidebar-qty-row { display: none !important; }
    .anil-mobile-sticky-buy { grid-template-columns: minmax(0, 1fr) minmax(166px, 1.12fr) !important; gap: 7px !important; }
    .anil-mobile-sticky-actions { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 6px; min-width: 0; direction: rtl; }
    .anil-mobile-sticky-quantity.anil-proxy-quantity { display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: repeat(3, minmax(0, 1fr)) !important; align-items: stretch !important; width: 38px; height: 52px; min-width: 38px; overflow: hidden; border: 1px solid #dce3ec; border-radius: 10px; background: #fff; box-shadow: 0 3px 10px rgba(16, 44, 103, .07); }
    .anil-mobile-sticky-quantity .anil-qty-btn,
    .anil-mobile-sticky-quantity input { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-width: 0 !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; line-height: 1 !important; text-align: center !important; box-shadow: none !important; }
    .anil-mobile-sticky-quantity .anil-qty-btn { color: #163467; background: #f4f7fb; font-size: 15px; font-weight: 800; }
    .anil-mobile-sticky-quantity input { color: #172d50; background: #fff; font-size: 11px; font-weight: 800; appearance: textfield; }
    .anil-mobile-sticky-cart { width: 100%; min-width: 0; min-height: 52px !important; padding-inline: 7px !important; }
}

@media (max-width: 380px) {
    .anil-mobile-sticky-buy { grid-template-columns: minmax(0, .95fr) minmax(154px, 1.05fr) !important; }
    .anil-mobile-sticky-actions { grid-template-columns: 35px minmax(0, 1fr); gap: 5px; }
    .anil-mobile-sticky-quantity.anil-proxy-quantity { width: 35px; min-width: 35px; }
}

/* ========================================================================
   ANIL MOBILE V8 — clean express area + complete variation selectors
   ======================================================================== */
@media (max-width: 767px) {
    /* Product feature cards under the three-hour delivery card are removed. */
    .anil-mobile-data-grid { display: none !important; }

    /* Never crop or collapse WooCommerce attribute rows on mobile. */
    .anil-variation-zone,
    .anil-purchase-area,
    .anil-purchase-area form.cart,
    .anil-purchase-area form.variations_form,
    .anil-purchase-area table.variations,
    .anil-purchase-area table.variations tbody {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .anil-purchase-area table.variations tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 12px !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .anil-purchase-area table.variations tr:last-child { margin-bottom: 4px !important; }

    .anil-purchase-area table.variations th.label,
    .anil-purchase-area table.variations td.value {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .anil-purchase-area table.variations th.label {
        margin-bottom: 6px !important;
        font-size: 11.5px !important;
    }

    .anil-purchase-area table.variations select {
        display: block !important;
        width: 100% !important;
        height: 46px !important;
        min-height: 46px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .anil-purchase-area .variable-items-wrapper,
    .anil-purchase-area .tawcvs-swatches,
    .anil-purchase-area .cfvsw-swatches-container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .anil-purchase-area .variable-item,
    .anil-purchase-area .tawcvs-swatches > *,
    .anil-purchase-area .cfvsw-swatches-option {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        visibility: visible !important;
    }

    /* Unavailable combinations stay visible but cannot be selected. */
    .anil-purchase-area .variable-item.disabled,
    .anil-purchase-area .variable-item.out-of-stock,
    .anil-purchase-area .cfvsw-swatches-option.cfvsw-swatches-disabled {
        display: inline-flex !important;
        opacity: .38 !important;
        pointer-events: none !important;
        filter: grayscale(.35);
    }

    /* Hide WooCommerce/plugin raw variation output (delivery date, duplicated
       raw price, description). Our custom cards/sticky bar are the UI output. */
    .anil-purchase-area .single_variation_wrap > .single_variation,
    .anil-purchase-area .woocommerce-variation.single_variation,
    .anil-purchase-area .woocommerce-variation-description,
    .anil-purchase-area .woocommerce-variation-price,
    .anil-purchase-area .woocommerce-variation-availability {
        display: none !important;
    }
}

/* ========================================================================
   ANIL GALLERY V7 — independent vertical gallery on desktop and mobile
   ======================================================================== */
.anil-gallery-inner { display: none !important; }

.anil-mobile-gallery {
    position: relative;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-areas: "thumbs stage";
    gap: 9px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(20, 46, 84, .055);
    direction: rtl;
}

.anil-mobile-gallery-stage {
    position: relative;
    grid-area: stage;
    width: 100%;
    min-width: 0;
    height: 350px;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    touch-action: pan-y;
}

.anil-mobile-gallery.is-single {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "stage";
}

.anil-mobile-gallery.is-single .anil-mobile-gallery-count { display: none; }

.anil-mobile-gallery-main {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 10px;
    border: 0;
    outline: 0;
    background: transparent;
    cursor: zoom-in;
}

.anil-mobile-gallery-main img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 96% !important;
    max-height: 328px !important;
    margin: auto !important;
    object-fit: contain !important;
}

.anil-mobile-gallery-thumbs {
    grid-area: thumbs;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    width: 58px;
    height: 350px;
    min-width: 0;
    margin: 0;
    padding: 3px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.anil-mobile-gallery-thumbs::-webkit-scrollbar { display: block; width: 3px; }
.anil-mobile-gallery-thumbs::-webkit-scrollbar-thumb { border-radius: 10px; background: #cbd5e1; }

.anil-mobile-gallery-thumb {
    flex: 0 0 50px;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 3px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.anil-mobile-gallery-thumb:hover { transform: translateX(-1px); border-color: #aebdd0; }
.anil-mobile-gallery-thumb.is-active {
    border-color: var(--anil-orange-2);
    box-shadow: 0 0 0 1px var(--anil-orange-2);
}

.anil-mobile-gallery-thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.anil-mobile-gallery-arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid #e1e7ef;
    border-radius: 50%;
    color: #15356f;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 3px 10px rgba(24, 45, 75, .1);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.anil-mobile-gallery-arrow.is-prev { right: 7px; }
.anil-mobile-gallery-arrow.is-next { left: 7px; }

.anil-mobile-gallery-count {
    position: absolute;
    z-index: 4;
    right: 9px;
    bottom: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 25px;
    padding: 0 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(20, 42, 77, .75);
    backdrop-filter: blur(5px);
    font-size: 9px;
    font-weight: 700;
    pointer-events: none;
}

.anil-mobile-gallery-zoom {
    position: absolute;
    z-index: 4;
    top: 8px;
    left: 9px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    color: #15356f;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 3px 10px rgba(24, 45, 75, .08);
    pointer-events: none;
}

.anil-mobile-gallery-zoom svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.anil-mobile-gallery-lightbox {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 55px 18px 22px;
    background: rgba(7, 18, 36, .94);
}

.anil-mobile-gallery-lightbox.is-open { display: flex; }
.anil-mobile-gallery-lightbox img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100dvh - 85px);
    object-fit: contain;
}

.anil-mobile-gallery-lightbox-close {
    position: absolute;
    top: max(12px, env(safe-area-inset-top));
    left: 14px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

html.anil-gallery-lightbox-open,
body.anil-gallery-lightbox-open { overflow: hidden !important; }

@media (max-width: 767px) {
    .anil-mobile-gallery {
        order: 3;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 6px;
        padding: 6px;
    }

    .anil-mobile-gallery-stage { height: 220px; }
    .anil-mobile-gallery-main { padding: 6px; }
    .anil-mobile-gallery-main img { max-width: 94% !important; max-height: 204px !important; }

    .anil-mobile-gallery-thumbs {
        width: 54px;
        height: 220px;
        gap: 6px;
        padding: 2px;
    }

    .anil-mobile-gallery-thumb {
        flex-basis: 47px;
        width: 47px;
        height: 47px;
    }
}

@media (max-width: 380px) {
    .anil-mobile-gallery {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 5px;
    }
    .anil-mobile-gallery-stage,
    .anil-mobile-gallery-thumbs { height: 202px; }
    .anil-mobile-gallery-thumbs { width: 50px; }
    .anil-mobile-gallery-thumb { flex-basis: 43px; width: 43px; height: 43px; }
    .anil-mobile-gallery-main img { max-height: 186px !important; }
}
