/* =============================================================
 * AMC Packages — frontend styles
 * Uses CSS variables so Elementor / per-package colors work.
 * ============================================================= */

:root {
    --amc-bg: #0a0a0a;
    --amc-accent: #FFD700;
    --amc-text: #bbbbbb;
    --amc-radius: 16px;
}

/* ------------------- Section wrapper ------------------------- */
.amc-packages {
    position: relative;
    padding: 40px 20px;
    background: var(--amc-bg);
    color: var(--amc-text);
    box-sizing: border-box;
}

.amc-packages * {
    box-sizing: border-box;
}

.amc-grid {
    display: grid;
    grid-template-columns: repeat(var(--amc-cols-d, 4), 1fr);
    gap: 24px;
}

@media (max-width: 1024px) {
    .amc-grid { grid-template-columns: repeat(var(--amc-cols-t, 2), 1fr); }
}
@media (max-width: 640px) {
    .amc-grid { grid-template-columns: repeat(var(--amc-cols-m, 1), 1fr); }
}

/* ------------------- Horizontal scroll (5+ cards) -----------
 * Native CSS scroll — no Swiper, no arrow buttons.
 * Scroll-snap so each "page" of cards locks cleanly when you
 * swipe on mobile or drag the scrollbar on desktop.
 * Each column is sized so exactly N cards fit per viewport.
 * ------------------------------------------------------------ */
.amc-cards-scroll {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    /* Native scrollbar is HIDDEN — we render a custom always-visible
     * pill scrollbar via JS (see .amc-scrollbar below). This is the only
     * way to guarantee an always-visible scrollbar on iOS Safari, which
     * insists on auto-hiding native overlay scrollbars on touch devices.
     * scrollbar-width: none → Firefox, ::-webkit-scrollbar display:none →
     * Chrome / Safari / Edge / iOS Safari. */
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0;
    margin: 0 -4px; /* room for hover glow */
}
.amc-cards-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }

.amc-cards-track {
    display: grid;
    grid-auto-flow: column;
    /* "Peek" effect — show N full cards + a sliver of the next one so the
     * user sees there is more to scroll. Tweak --amc-peek (0.2 = 4.2 cards
     * visible on desktop, 0.3 = 4.3, etc.). */
    --amc-peek: .2;
    grid-auto-columns: calc((100% - (24px * var(--amc-cols-d, 4))) / (var(--amc-cols-d, 4) + var(--amc-peek)));
    gap: 24px;
    /* 6px top gives the hover/glow highlight room to breathe above the
     * cards without being clipped by the scroll container. */
    padding: 6px 4px 4px 4px;
}
.amc-cards-track > .amc-card {
    scroll-snap-align: start;
    min-width: 0;
}

@media (max-width: 1024px) {
    .amc-cards-track {
        grid-auto-columns: calc((100% - (24px * var(--amc-cols-t, 2))) / (var(--amc-cols-t, 2) + var(--amc-peek)));
    }
}
@media (max-width: 640px) {
    .amc-cards-track {
        grid-auto-columns: calc((100% - (16px * var(--amc-cols-m, 1))) / (var(--amc-cols-m, 1) + var(--amc-peek)));
        gap: 16px;
    }
}

/* ================================================================
 * CARD
 * ----------------------------------------------------------------
 * Default (non-hover) = glass style:
 *   - Fill:   linear gradient  #FFFFFF1A -> #FFFFFF00
 *   - Border: 1px gradient     #FFFFFFB2 -> #CCCCCC40 -> #FFFFFFB2
 *   - Inner shadow:            #FFFFFF1A
 *   - Noise overlay:           duotone #00000040 / #FFFFFF40
 * Hover = yellow translucent (per package accent).
 * ================================================================ */
.amc-card {
    position: relative;
    border: 1px solid transparent;
    border-radius: var(--amc-radius);
    color: #bbb;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 100%;

    /* Two-layer background trick for gradient border:
     * - padding-box layers fill the inside
     * - border-box layer shows in the 1px transparent border
     */
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, 0) 100%) padding-box,
        var(--amc-card-grad, linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%)) padding-box,
        linear-gradient(135deg, rgba(255, 255, 255, .70) 0%, rgba(204, 204, 204, .25) 50%, rgba(255, 255, 255, .70) 100%) border-box;

    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .10),
                inset 0 0 60px rgba(255, 255, 255, .06);

    transition: transform .4s ease, box-shadow .4s ease;
}

/* Duotone noise texture — sits above content as a subtle grain.
 * pointer-events:none so buttons still work. */
.amc-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    border-radius: inherit;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .25 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size: 160px 160px;
    mix-blend-mode: overlay;
    opacity: .6;
}

.amc-card:hover,
.amc-card.is-featured {
    /* Hover: yellow translucent gradient fill + solid yellow 1px border
     * (both via the same two-layer background trick). */
    background:
        linear-gradient(180deg, var(--amc-card-tint, rgba(249, 228, 0, .10)) 0%, var(--amc-card-tint-0, rgba(249, 228, 0, 0)) 100%) padding-box,
        var(--amc-card-grad, linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%)) padding-box,
        linear-gradient(var(--amc-card-accent, var(--amc-accent)), var(--amc-card-accent, var(--amc-accent))) border-box;
    box-shadow: 0 0 40px var(--amc-card-tint, rgba(249, 228, 0, .10)),
                inset 0 0 0 1px rgba(255, 255, 255, .06);
    transform: translateY(-6px);
}

/* ------------------- Hero (image only, v1.0.44+) -----------
 * Title, website text, icon-before-URL and year labels were all
 * removed — the hero is now just the featured image. Any text that
 * used to live here should be baked directly into the image. */
.amc-card__hero {
    position: relative;
    min-height: 170px;
    background: #111;
    overflow: hidden;
    transition: filter .5s ease;
    display: block;
}
.amc-card__hero-img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.amc-packages.is-grayscale .amc-card__hero-img {
    filter: grayscale(1) brightness(.85);
    transition: filter .5s ease;
}
.amc-packages.is-grayscale .amc-card:hover .amc-card__hero-img,
.amc-packages.is-grayscale .amc-card.is-featured .amc-card__hero-img {
    filter: grayscale(0) brightness(1);
}

@media (max-width: 768px) {
    .amc-card__hero     { min-height: 157px; }
    .amc-card__hero-img { min-height: 157px; }
}

/* ------------------- Body ----------------------------------- */
.amc-card__body {
    padding: 22px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* ------------------- Dividers ------------------------------- */
.amc-card__divider {
    height: 1px;
    background: rgba(255,255,255,.08);
    margin: 18px 0;
}

/* ------------------- Price ---------------------------------- */
.amc-card__price {
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 4px;
    /* Always keep "7190 RSD  7990 RSD" on ONE line — never wrap the
     * currency onto a second line. If the card is too narrow, shrink
     * the font via the mobile override below. */
    white-space: nowrap;
    transition: color .35s ease;
}
.amc-card__price s {
    font-size: 16px;
    color: #666;
    font-weight: 400;
}

.amc-card__coverage {
    font-size: 13px;
    line-height: 22px;
    color: #888;
    margin: 0;
}

/* ------------------- Features list -------------------------- */
.amc-card__features {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}
.amc-card__features li {
    position: relative;
    padding: 7px 0 7px 30px;
    font-size: 13px;
    line-height: 1.45;
    color: #bbb;
}
.amc-card__features li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 7px;
    width: 20px;
    height: 20px;
    background: #2a2a2a;
    color: #777;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    transition: background .35s ease, color .35s ease;
}

.amc-card:hover .amc-card__features li::before,
.amc-card.is-featured .amc-card__features li::before {
    background: var(--amc-card-accent, var(--amc-accent));
    color: #000;
}

/* ------------------- Button --------------------------------- */
.amc-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 26px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #e6e6e6;
    background: transparent;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    transition: background .35s ease, color .35s ease, border-color .35s ease;
    margin: 0 auto;         /* horizontally center the pill inside body */
    margin-top: auto;       /* keep it pinned to the bottom of body */
    width: fit-content;
    max-width: 100%;
}

.amc-card__btn > * {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.amc-card__btn-arrow {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid currentColor;
    font-size: 12px;
    line-height: 1;
}

/* Custom SVG icon — recolored via mask + currentColor so it follows
 * the button text color (neutral by default, accent on hover). */
.amc-card__btn-icon {
    width: 22px;
    height: 22px;
    background-color: currentColor;
    -webkit-mask-image: var(--amc-btn-icon);
            mask-image: var(--amc-btn-icon);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    transition: background-color .35s ease;
}

.amc-card:hover .amc-card__btn,
.amc-card.is-featured .amc-card__btn {
    background: var(--amc-card-tint, rgba(249, 228, 0, .10));
    color: var(--amc-card-accent, var(--amc-accent));
    border: 1px solid var(--amc-card-accent, var(--amc-accent));
}

/* ------------------- (Legacy Swiper nav — unused) -----------
 * v1.0.8 switched to native CSS horizontal scroll.
 * Any leftover markup from older themes is hidden here.
 * ------------------------------------------------------------ */
.amc-nav,
.amc-nav-btn,
.amc-packages .swiper-pagination,
.amc-packages .swiper-button-next,
.amc-packages .swiper-button-prev { display: none !important; }

/* ================================================================
 * COMPARE TABLE
 * ================================================================ */
/* Compare wrapper + scroll container — FULLY transparent.
 * No background, no backdrop-filter, no box-shadow, no dark layer.
 * The ONLY visible decoration on the table is a 1px #FFFFFF1A border
 * around the scroll container and between rows/cells.
 * Whatever you put behind the section (image / gradient / color) shows
 * through 100% untouched. */
.amc-compare-wrap {
    background: transparent;
    color: var(--amc-text);
    box-sizing: border-box;
}
.amc-compare-wrap * { box-sizing: border-box; }

.amc-compare-scroll {
    overflow-x: auto;
    overflow-y: visible;
    position: relative;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .1); /* #FFFFFF1A */
    border-radius: 16px;
    /* Native scrollbar is HIDDEN — the always-visible yellow pill bar
     * below the table is rendered by JS (see .amc-scrollbar). */
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.amc-compare-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* ================================================================
 * Custom scrollbar (JS-driven, always visible)
 * ----------------------------------------------------------------
 * Injected by frontend.js immediately after every .amc-cards-scroll
 * and .amc-compare-scroll. Two elements:
 *   .amc-scrollbar         — track (pill, yellow 8% alpha background)
 *   .amc-scrollbar__thumb  — thumb (pill, solid yellow)
 *
 * Always visible on every device — fixes iOS Safari auto-hide.
 * ================================================================ */
.amc-scrollbar {
    position: relative;
    width: 100%;
    height: 8px;
    margin-top: 12px;
    background: rgba(255, 215, 0, .08); /* #ffd70015 */
    border-radius: 50px;
    cursor: pointer;
    touch-action: none;
}
.amc-scrollbar__thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    min-width: 24px;
    background: #ffd700;
    border-radius: 50px;
    cursor: grab;
    touch-action: none;
}
.amc-scrollbar__thumb:active { cursor: grabbing; }

.amc-compare {
    width: 100%;
    min-width: max-content;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    color: var(--amc-text);
    background: transparent;
}

.amc-compare th,
.amc-compare td {
    padding: 18px 20px;
    /* Full 1px #FFFFFF1A grid on every cell.
     * With border-collapse: separate + border-spacing: 0 on the table,
     * cells would double up their borders — we use border-right +
     * border-bottom and let the outer .amc-compare-scroll border paint
     * the top + left edges. */
    border-right: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    text-align: center;
    background: transparent;
    /* Desktop column sizing — user-tuned.
     * max-width caps each package column so ~3 cols fit next to the sticky
     * Service column and the 4th stays partially visible as a scroll hint.
     *   (100vw - 800px) = viewport minus sticky col + wrap padding + gutter
     *   / 2.7           = visual divisor picked by eye, do not change without testing
     */
    max-width: calc((100vw - 800px) / 2.7);
    transition: background .25s ease;
}

.amc-compare thead th {
    font-size: 16px;
    font-weight: 700;
    padding: 38px 20px;
    background: transparent;
    position: relative;
}

/* Last cell in every row doesn't need a right border — the outer
 * .amc-compare-scroll border handles that edge. */
.amc-compare tr > :last-child {
    border-right: none;
}
/* Last row doesn't need a bottom border for the same reason. */
.amc-compare tbody tr:last-child > th,
.amc-compare tbody tr:last-child > td {
    border-bottom: none;
}

/* Override theme zebra-striping. WordPress themes (Astra, Kadence, Hello,
 * etc.) often ship:
 *   table tbody > tr:nth-child(odd) > td { background: #f6f7f7 }
 * which would paint gray rows through our transparent glass table. We
 * force every row back to transparent with !important because theme CSS
 * can load after the plugin CSS. */
.amc-compare tbody > tr:nth-child(odd) > td,
.amc-compare tbody > tr:nth-child(odd) > th,
.amc-compare tbody > tr:nth-child(even) > td,
.amc-compare tbody > tr:nth-child(even) > th,
.amc-compare thead > tr > th,
.amc-compare thead > tr > td {
    background-color: transparent !important;
}

/* Sticky first column — NO color fill (stays visually transparent so the
 * section background shows through), BUT with a strong backdrop-filter
 * blur so package cells that scroll UNDER it become an unreadable haze
 * instead of visibly bleeding through the Service labels.
 *
 * The blur applies to whatever is in the backdrop of this cell — that
 * includes the solid/gradient section background (slightly blurred,
 * visually identical at this radius) AND the package cells passing
 * behind it (blurred into oblivion). End result: text under SERVICE
 * column disappears on scroll, but the column itself still looks
 * transparent. */
.amc-compare .amc-sticky-col {
    text-align: left;
    color: #fff;
    font-weight: 500;
    min-width: 280px;
    width: 280px;
    background-color: transparent;
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    backdrop-filter: blur(24px) saturate(140%);
}
.amc-compare thead .amc-sticky-col {
    background: transparent !important;
    color: rgba(255, 255, 255, .7);
    font-weight: 400;
}

/* Sticky first column.
 * -webkit-sticky for Safari; explicit z-index so the glow in
 * package headers never overlaps the Service column.
 * Forced always-on — the .is-sticky class on the wrapper used to
 * toggle this, but v1.0.8 keeps it pinned unconditionally so it
 * "just works" regardless of admin setting. */
.amc-compare .amc-sticky-col {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 5;
    box-shadow: 2px 0 0 rgba(255, 255, 255, .04);
}

/* Body cells — hover tint is ONE vertical gradient painted across the
 * entire column. Each cell shows its own slice via background-size +
 * background-position (computed in JS, see initCompareHover). All three
 * CSS vars are set together. !important is required to override the
 * theme-zebra killer above. */
.amc-compare tbody td.is-col-hover,
.amc-compare tbody th.is-col-hover {
    background-image:    var(--amc-col-hover, none) !important;
    background-size:     var(--amc-col-hover-size, auto) !important;
    background-position: var(--amc-col-hover-pos, 0 0) !important;
    background-repeat:   no-repeat !important;
    background-color:    transparent !important;
}

/* Header cells — the inline `background` on .amc-glow-th is the radial glow,
 * so we cannot replace it on hover. We draw the hover tint with a ::before
 * overlay behind the label and boost the glow on the title text.
 *
 * NOTE: the ::before is inset 1px so it never paints on top of the cell's
 * border-bottom or the outer .amc-compare-scroll border (previous versions
 * made the top 1px border look "missing" on the hovered column). The label
 * no longer uses transform: scale() for the same reason — any transform on
 * the <th> content was creating a new stacking context that hid the outer
 * border. We keep a pure text-shadow + brightness lift. */
.amc-compare thead th.amc-glow-th {
    isolation: isolate;
}
.amc-compare thead th.amc-glow-th::before {
    content: "";
    position: absolute;
    inset: 1px;
    background-color: transparent;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
    z-index: 0;
    border-radius: 2px;
}
/* On hover the ::before inherits the three column-gradient vars set on
 * the parent <th> by JS. It shows the TOP slice of the full column gradient
 * (offset = 0, since the <th> is the first row of the column). */
.amc-compare thead th.amc-glow-th.is-col-hover::before {
    opacity: 1;
    background-image:    var(--amc-col-hover, none);
    background-size:     var(--amc-col-hover-size, auto);
    background-position: var(--amc-col-hover-pos, 0 0);
    background-repeat:   no-repeat;
}
.amc-compare thead th.amc-glow-th .amc-glow-th__label {
    position: relative;
    z-index: 1;
    display: inline-block;
    transition: text-shadow .25s ease, filter .25s ease;
}
.amc-compare thead th.amc-glow-th.is-col-hover .amc-glow-th__label {
    text-shadow: 0 0 22px currentColor, 0 0 8px currentColor;
    filter: brightness(1.18);
}

.amc-icon-yes { color: #22c55e; font-size: 18px; }
.amc-icon-no  { color: #ef4444; font-size: 18px; }

@media (max-width: 768px) {
    /* Mobile compare: Service (sticky first col) = 30vw, each package column
       sized so that ~1.2 fit in the remaining 70vw — user sees one full
       package plus a sliver of the next, making it obvious the table scrolls.
       Formula: package-width = (100vw - 30vw) / 1.2 = 70vw / 1.2. */
    .amc-compare th,
    .amc-compare td {
        min-width: calc(70vw / 1.2);
        width: calc(70vw / 1.2);
        padding: 14px;
        font-size: 13px;
    }
    .amc-compare .amc-sticky-col {
        min-width: 30vw;
        width: 30vw;
    }
    .amc-card__hero { min-height: 130px; }
    .amc-card__logo { max-width: 90px; }
    .amc-card__body  { padding: 22px 16px 24px; }
    /* Shrink price on phones so "7190 RSD  7990 RSD" never overflows the
     * narrower mobile card — combined with white-space: nowrap above. */
    .amc-card__price   { font-size: 26px; }
    .amc-card__price s { font-size: 14px; }
}

.amc-empty {
    text-align: center;
    padding: 40px;
    color: #888;
}

/* ================================================================
 * LIVE VIDEO — [amc_live url="..."] shortcode
 * ----------------------------------------------------------------
 * Wrapper keeps a fixed aspect ratio (16:9 by default) so the frame
 * doesn't jump before the HLS stream starts playing. Video element
 * fills the wrapper edge-to-edge.
 * ================================================================ */
.amc-live {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
    isolation: isolate;
}
/* Video element is in normal flow (position: relative) and owns its
 * own aspect-ratio. Browsers honour aspect-ratio on <video> elements
 * reliably — unlike on plain <div> wrappers inside Elementor flex
 * columns where it sometimes resolved to 0 height. */
.amc-live .amc-live-video {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--amc-live-ratio, 16 / 9);
    background: #000;
    object-fit: contain;
    z-index: 1;
}
.amc-live__title {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 6px 12px;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    font-size: 13px;
    border-radius: 6px;
    pointer-events: none;
    z-index: 2;
}
.amc-live-error {
    padding: 12px 16px;
    background: rgba(239, 68, 68, .1);
    border: 1px solid rgba(239, 68, 68, .35);
    border-radius: 8px;
    color: #ef4444;
    font-size: 14px;
}

/* ================================================================
 * WHAT'S INCLUDED — [amc_includes] shortcode
 * ================================================================ */

.amc-includes {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 40px 0;
    overflow-x: hidden; /* safety net against any child that overshoots */
}
.amc-includes * {
    box-sizing: border-box;
    max-width: 100%;
}

/* 3-column grid: pills (30%) | image (40%) | detail card (30%)
 * align-items: stretch so image + detail card fill the same height.
 * Pills get align-self: start below so they sit at the top.
 * minmax(0, …) allows grid tracks to shrink below their content size,
 * which prevents long labels in pills / titles from pushing the grid
 * wider than the viewport on mobile. */
.amc-includes__columns {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr);
    gap: 20px;
    align-items: stretch;
}

/* 2-column fallback when the package has no "What's included" image —
 * avoids a tall empty black box that pushed content off the screen. */
.amc-includes__columns--no-image {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* Column 1 — Bullet pills (top-aligned, doesn't stretch) */
.amc-includes__bullets {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-self: start;
}
.amc-includes__pill {
    display: block;
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, .1) !important;   /* #FFFFFF1A */
    border: 1px solid rgba(255, 255, 255, .1) !important; /* #FFFFFF1A */
    border-radius: 30px;
    padding: 14px 24px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #fff !important;
    cursor: pointer;
    transition: background .35s ease, color .35s ease, border-color .35s ease;
    /* Long feature labels wrap inside the pill instead of staying on
     * a single line. Themes / Elementor set `white-space: nowrap` on
     * button elements, so !important is required to override. */
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    min-width: 0;
    height: auto !important;
}
.amc-includes__pill:hover,
.amc-includes__pill.is-active {
    background: linear-gradient(90deg, #FFD400 0%, rgba(255, 212, 0, .2) 50%, rgba(255, 255, 255, .08) 100%) !important;
    color: #fff !important;
    border-color: rgba(255, 212, 0, .4) !important;
}

/* Column 2 — Image
 * align-self: stretch overrides the grid's align-items: start so the
 * image column always fills the full row height. The <img> is
 * position: absolute so it covers the entire cell. */
.amc-includes__image {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    align-self: stretch;
    min-height: 400px;
}
.amc-includes__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Column 3 — Detail card
 * align-self: stretch makes it match the image column height.
 * Icon at top-left, text pushed to the bottom. */
.amc-includes__detail {
    position: relative;
    border-radius: 30px;
    padding: 24px 24px;
    background: linear-gradient(225deg, #9A9A9A44 0%, #000000 50%, #9A9A9A44 100%);
    display: flex;
    flex-direction: column;
    align-self: stretch;
    margin-bottom: 60px; /* 60px shorter than image on desktop */
}
.amc-includes__detail-card {
    display: none;
}
.amc-includes__detail-card.is-active {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
}
/* Icon pinned to the top-left corner, 50px gap to text below */
.amc-includes__detail-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 50px;
    flex-shrink: 0;
}
.amc-includes__detail-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 52px;
    font-weight: 600;
    line-height: 64px;
    color: #fff;
    margin: 0 0 8px;
}
.amc-includes__detail-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
    color: #fff;
    margin: 0 0 12px;
}
.amc-includes__detail-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: rgba(255, 255, 255, .7);
    margin: 0;
}

/* Action buttons row — same visual style as the pills */
.amc-includes__actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
    justify-content: center;
}
.amc-includes__action-btn {
    display: inline-flex;
    align-items: center;
    flex-direction: row-reverse; /* icon on the RIGHT side */
    gap: 10px;
    padding: 14px 24px;
    background: #77D6FF1A !important;
    border: 1px solid #77D6FF !important;
    border-radius: 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #77D6FF !important;
    text-decoration: none;
    transition: background .2s ease;
    white-space: nowrap;
}
.amc-includes__action-btn:hover {
    background: #77D6FF50 !important;
    color: #77D6FF !important;
}
.amc-includes__action-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Responsive — stack on mobile: Image → Pills → Detail */
@media (max-width: 768px) {
    .amc-includes {
        padding: 24px 0;
    }
    .amc-includes__columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    /* Reorder: image first, pills second, detail third */
    .amc-includes__image   { order: -1; min-height: 240px; }
    .amc-includes__bullets { order: 0; align-self: stretch; }
    .amc-includes__detail  { order: 1; min-height: 300px; margin-bottom: 0; }

    /* Force long feature labels to wrap instead of pushing the pill
     * wider than the viewport. */
    .amc-includes__pill {
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
        padding: 12px 18px;
        font-size: 15px;
        line-height: 22px;
    }
    .amc-includes__detail-title {
        font-size: 32px;
        line-height: 40px;
        word-break: break-word;
    }
    .amc-includes__detail-subtitle {
        font-size: 18px;
        line-height: 26px;
        word-break: break-word;
    }
    .amc-includes__detail-desc {
        word-break: break-word;
    }
    .amc-includes__actions {
        flex-direction: column;
    }
    .amc-includes__action-btn {
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
    /* Third button only (phone / tel: link) — tighter horizontal
     * padding on mobile so the long label fits on one line. */
    .amc-includes__action-btn--phone {
        padding: 14px 5px;
    }
}
