/* ==========================================================================
   Frankie — playful pastel skin
   Big white space, rounded corners, thin black strokes, script lead-ins.
   Every rule is scoped under body.theme-frankie. Loaded after style.css and
   custom.css, only when the store's theme is "frankie".
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=Poppins:wght@400;500;600;700;800&display=swap');

body.theme-frankie {
    /* tokens: the five pastels + ink */
    --fk-pink: #ffb3d9;
    --fk-pink-soft: #ffe7f3;
    --fk-lavender: #d9c8ff;
    --fk-mint: #c8f5e6;
    --fk-lemon: #f3f78a;
    --fk-sky: #bfe6ff;
    --fk-ink: #111111;
    --fk-muted: #6b6b70;
    --fk-bg: #ffffff;
    /* The store's own accent (Theme Changes) replaces the pink when set */
    --fk-accent: var(--pv-accent-custom, #ff6fb5);
    --fk-stroke: 1px solid var(--fk-ink);
    --fk-radius: 18px;
    --fk-radius-lg: 28px;
    --fk-pill: 999px;
    --fk-script: 'Pacifico', cursive;
    /* --pv-font is the store's font choice, defaulting to the theme's Poppins */
    --fk-body: var(--pv-font, 'Poppins'), 'Poppins', 'Roboto', sans-serif;

    background: var(--fk-bg);
    color: var(--fk-ink);
    font-family: var(--fk-body) !important;
    font-size: 16px;
}
body.theme-frankie main, body.theme-frankie .bg_white, body.theme-frankie .bg_gray, body.theme-frankie #page { background: var(--fk-bg) !important; }

/* ---- Typography ------------------------------------------------------------ */
body.theme-frankie h1, body.theme-frankie h2, body.theme-frankie h3, body.theme-frankie h4,
body.theme-frankie .main_title h2, body.theme-frankie .page_header h1, body.theme-frankie .prod_info h1 {
    font-family: var(--fk-body) !important; font-weight: 800 !important; letter-spacing: .01em; text-transform: uppercase; color: var(--fk-ink); line-height: 1.05;
}
body.theme-frankie .main_title { text-align: center; margin-bottom: 30px; }
body.theme-frankie .main_title h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
body.theme-frankie .main_title h2::after { content: none; }
body.theme-frankie .main_title p { color: var(--fk-muted); }
/* Script lead-in: an eyebrow (herosplit) or a heading's first line marked with .fk-script */
body.theme-frankie .pv-hs-eyebrow, body.theme-frankie .fk-script {
    font-family: var(--fk-script) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0;
    font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.1; color: var(--fk-ink); margin-bottom: -.25em; display: block;
}
body.theme-frankie a { color: var(--fk-ink); }
body.theme-frankie a:hover { color: var(--fk-accent); }
body.theme-frankie .text-muted { color: var(--fk-muted) !important; }

/* ---- Buttons: pills with a black stroke ------------------------------------- */
body.theme-frankie .btn_1, body.theme-frankie a.btn_1, body.theme-frankie button.btn_1, body.theme-frankie .pv-btn {
    /* Button values come from Theme Changes when the store set them (--pv-btn-*), else the theme's own */
    background: var(--pv-btn-bg, var(--fk-lavender)) !important; color: var(--pv-btn-text, var(--fk-ink)) !important; border: var(--pv-btn-border, var(--fk-stroke)) !important;
    border-radius: var(--pv-btn-radius, var(--fk-pill)) !important; font-family: var(--fk-body); font-weight: 600; font-size: .85rem; letter-spacing: .02em; text-transform: none;
    padding: 12px 28px; box-shadow: none; transition: transform .15s ease, background .2s ease;
}
body.theme-frankie .btn_1:hover, body.theme-frankie a.btn_1:hover { background: var(--pv-btn-bg-hover, var(--fk-ink)) !important; color: var(--pv-btn-text-hover, #fff) !important; border: var(--pv-btn-border-hover, var(--fk-stroke)) !important; transform: translateY(-1px); }
body.theme-frankie .btn_1.outline, body.theme-frankie a.btn_1.outline { background: #fff !important; color: var(--fk-ink) !important; border: var(--fk-stroke) !important; }
body.theme-frankie .btn_1.outline:hover { background: var(--fk-ink) !important; color: #fff !important; }
body.theme-frankie .btn_1.gray { background: #f1f1f3 !important; }

/* ---- Header (Frankie's own partial: storefront/themes/frankie/nav.blade.php) --- */
body.theme-frankie .fk-header { position: sticky; top: 0; z-index: 1000; font-family: var(--fk-body); border-bottom: var(--fk-stroke); }
body.theme-frankie .fk-row-1 { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.theme-frankie .fk-topbar { min-height: 30px; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--fk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.theme-frankie .fk-bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 78px; gap: 16px; }
body.theme-frankie .fk-bar-left { display: flex; align-items: center; gap: 6px; }
body.theme-frankie .fk-bar-right { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
body.theme-frankie .fk-logo img { height: 54px; width: auto; max-width: 220px; display: block; }
body.theme-frankie .fk-tool { color: var(--fk-ink); background: none; border: 0; padding: 4px; display: inline-flex; position: relative; cursor: pointer; line-height: 0; }
body.theme-frankie .fk-tool:hover { color: var(--fk-accent); }
body.theme-frankie .fk-badge { position: absolute; top: -5px; right: -7px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--fk-lemon); border: var(--fk-stroke); color: var(--fk-ink); font-size: .62rem; font-weight: 700; line-height: 15px; text-align: center; }
body.theme-frankie .fk-row-3 { border-top: var(--fk-stroke); }
body.theme-frankie .fk-menu { display: flex; justify-content: center; align-items: center; gap: 6px; flex-wrap: wrap; padding: 8px 15px; }
body.theme-frankie .fk-menu > a, body.theme-frankie .fk-menu .pv-nav-dd > a {
    display: inline-block; padding: 7px 16px; border-radius: var(--fk-pill); border: 1px solid transparent;
    color: var(--fk-ink); font-weight: 600; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: all .15s ease;
}
body.theme-frankie .fk-menu > a:hover, body.theme-frankie .fk-menu .pv-nav-dd:hover > a { background: #fff; border-color: var(--fk-ink); color: var(--fk-ink); }
body.theme-frankie .fk-menu .fk-hl { background: var(--fk-lemon); border-color: var(--fk-ink); }
body.theme-frankie .fk-menu .pv-nav-dd-menu { top: calc(100% + 6px); border: var(--fk-stroke); border-radius: var(--fk-radius); box-shadow: 4px 4px 0 var(--fk-ink); min-width: 220px; padding: 10px 0; background: #fff; }
body.theme-frankie .fk-menu .pv-nav-dd-menu a { font-size: .85rem; padding: 8px 20px; color: var(--fk-ink); }
body.theme-frankie .fk-menu .pv-nav-dd-menu a:hover { background: var(--fk-pink-soft); }
/* Search bar: slides open under the header (max-height + opacity), no focus ring on the pill */
body.theme-frankie .fk-search { background: #fff; max-height: 0; overflow: hidden; opacity: 0; border-top: 0 solid var(--fk-ink); transition: max-height .28s ease, opacity .2s ease, border-top-width .1s linear; }
body.theme-frankie .fk-search.fk-open { max-height: 90px; opacity: 1; border-top-width: 1px; }
body.theme-frankie .fk-search-row { display: flex; gap: 10px; padding: 14px 15px; }
body.theme-frankie .fk-search input { flex: 1; height: 46px; border: var(--fk-stroke) !important; border-radius: var(--fk-pill) !important; padding: 0 20px; font-size: 1rem; font-family: var(--fk-body); background: #fff; }
body.theme-frankie .fk-search input:focus { outline: none !important; box-shadow: none !important; background: var(--fk-pink-soft); }
body.theme-frankie .fk-search input::-webkit-search-decoration, body.theme-frankie .fk-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
body.theme-frankie .fk-search .btn_1 { height: 46px; padding: 0 24px; }
body.theme-frankie .fk-burger { width: 40px; height: 40px; background: none; border: 0; padding: 8px; display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; cursor: pointer; }
body.theme-frankie .fk-burger span { display: block; height: 2px; background: var(--fk-ink); border-radius: 2px; }
/* drawer (phones): drops from the top as a rounded card */
body.theme-frankie .fk-layer { position: fixed; inset: 0; background: rgba(17,17,17,.35); z-index: 1001; }
body.theme-frankie .fk-drawer { position: fixed; top: 10px; left: 10px; right: 10px; max-height: calc(100vh - 20px); border: var(--fk-stroke); border-radius: var(--fk-radius-lg); box-shadow: 6px 6px 0 var(--fk-ink); z-index: 1002; transform: translateY(-120%); transition: transform .25s ease; display: flex; flex-direction: column; overflow-y: auto; }
body.theme-frankie .fk-drawer.fk-open { transform: none; }
body.theme-frankie.fk-drawer-open { overflow: hidden; }
body.theme-frankie .fk-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: var(--fk-stroke); }
body.theme-frankie .fk-drawer-head img { height: 36px; width: auto; max-width: 160px; }
body.theme-frankie .fk-drawer-close { background: #fff; border: var(--fk-stroke); border-radius: 50%; width: 34px; height: 34px; color: var(--fk-ink); font-size: 1.4rem; line-height: 1; cursor: pointer; }
body.theme-frankie .fk-drawer-menu { display: flex; flex-direction: column; padding: 12px 14px; gap: 6px; }
body.theme-frankie .fk-drawer-menu > a, body.theme-frankie .fk-drawer-menu .pv-nav-dd > a {
    display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: #fff; border: var(--fk-stroke); border-radius: var(--fk-pill);
    color: var(--fk-ink) !important; text-decoration: none; font-weight: 700; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase;
}
body.theme-frankie .fk-drawer-menu .fk-hl { background: var(--fk-lemon); }
body.theme-frankie .fk-drawer-menu .pv-nav-dd { display: block; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd-menu { position: static; display: none; background: transparent; border: 0; box-shadow: none; padding: 6px 0 4px 14px; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd.pv-open .pv-nav-dd-menu { display: block !important; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd:hover .pv-nav-dd-menu { display: none; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd.pv-open:hover .pv-nav-dd-menu { display: block; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd-menu a { padding: 8px 14px; font-size: .95rem; color: var(--fk-ink); white-space: normal; }
body.theme-frankie .fk-drawer-menu .pv-nav-dd-menu .pv-nav-dd-h { padding: 8px 14px 2px; color: var(--fk-muted); }
body.theme-frankie .fk-drawer-foot { padding: 10px 14px 20px; }
body.theme-frankie .fk-drawer-foot .btn_1 { display: block; text-align: center; }
@media (max-width: 991px) {
    body.theme-frankie .fk-bar { min-height: 62px; gap: 8px; }
    body.theme-frankie .fk-logo img { height: 40px; max-width: 160px; }
}


/* ---- Alternate headers (Layout → Boutique / Compact), skinned to match ------------- */
body.theme-frankie .pv-boutique { background: var(--pv-header, #fff) !important; border-bottom: var(--fk-stroke); }
body.theme-frankie .pv-boutique .pv-bq-top { padding: 1rem 0 .7rem; }
body.theme-frankie .pv-boutique .pv-bq-logo img { height: 54px; }
body.theme-frankie .pv-boutique .pv-bq-icon { color: var(--fk-ink); }
body.theme-frankie .pv-boutique .pv-bq-icon b { background: var(--fk-lemon); color: var(--fk-ink); border: var(--fk-stroke); }
body.theme-frankie .pv-boutique .pv-bq-search { border: var(--fk-stroke); border-radius: var(--fk-pill); background: #fff; }
body.theme-frankie .pv-boutique .pv-bq-search button { color: var(--fk-ink) !important; }
body.theme-frankie .pv-boutique .pv-bq-search input, body.theme-frankie .pv-compact .pv-cp-search input { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.theme-frankie .pv-boutique .pv-bq-nav { background: var(--fk-pink); border-top: var(--fk-stroke); margin: 0 -9999px; padding: .55rem 9999px .65rem; gap: 6px; }
body.theme-frankie .pv-boutique .pv-bq-nav > a, body.theme-frankie .pv-boutique .pv-bq-nav .pv-nav-dd > a {
    display: inline-block; padding: 7px 16px; border-radius: var(--fk-pill); border: 1px solid transparent; color: var(--fk-ink); font-size: .72rem; letter-spacing: .1em; font-weight: 600;
}
body.theme-frankie .pv-boutique .pv-bq-nav > a:hover, body.theme-frankie .pv-boutique .pv-bq-nav .pv-nav-dd:hover > a { background: #fff; border-color: var(--fk-ink); color: var(--fk-ink); }
body.theme-frankie .pv-compact, body.theme-frankie header.pv-compact { background: var(--pv-header, var(--fk-pink)) !important; border-bottom: var(--fk-stroke); }
body.theme-frankie .pv-compact .pv-cp-logo img { height: 40px; }
body.theme-frankie .pv-compact .pv-cp-nav a { color: var(--fk-ink); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
body.theme-frankie .pv-compact .pv-cp-nav > a, body.theme-frankie .pv-compact .pv-cp-nav .pv-nav-dd > a { padding: 6px 12px; border-radius: var(--fk-pill); border: 1px solid transparent; }
body.theme-frankie .pv-compact .pv-cp-nav > a:hover, body.theme-frankie .pv-compact .pv-cp-nav .pv-nav-dd:hover > a { background: #fff; border-color: var(--fk-ink); color: var(--fk-ink); }
body.theme-frankie .pv-compact .pv-cp-search { background: #fff; border: var(--fk-stroke); }
body.theme-frankie .pv-compact .pv-cp-search input { color: var(--fk-ink); }
body.theme-frankie .pv-compact .pv-cp-search input::placeholder { color: var(--fk-muted); }
body.theme-frankie .pv-compact .pv-cp-search button { color: var(--fk-ink) !important; }
body.theme-frankie .pv-compact .pv-cp-icon { color: var(--fk-ink); }
body.theme-frankie .pv-compact .pv-cp-icon b { background: var(--fk-lemon); color: var(--fk-ink); border: var(--fk-stroke); }
body.theme-frankie .pv-nav-dd-menu { background: #fff; border: var(--fk-stroke); border-radius: var(--fk-radius); box-shadow: 4px 4px 0 var(--fk-ink); }
body.theme-frankie .pv-nav-dd-menu a { color: var(--fk-ink); }
body.theme-frankie .pv-nav-dd-menu a:hover { background: var(--fk-pink-soft); }

/* ---- Breadcrumb / page header ------------------------------------------------ */
/* Breadcrumb / page title: plain by default (no pink box); a Theme Changes breadcrumb colour still applies */
body.theme-frankie .page_header { background: var(--pv-breadcrumb, transparent) !important; border-bottom: 0; }
body.theme-frankie .page_header h1 { font-size: clamp(1.4rem, 2.6vw, 2rem); color: var(--pv-breadcrumb-text, var(--fk-ink)) !important; }
body.theme-frankie .page_header .breadcrumbs ul li, body.theme-frankie .page_header .breadcrumbs ul li a, body.theme-frankie .page_header .breadcrumbs ul li:after { color: var(--pv-breadcrumb-text, var(--fk-muted)) !important; }

/* ---- Sections --------------------------------------------------------------- */
/* Hero (split): pastel band, rounded image frame with a stroke, script eyebrow */
body.theme-frankie .pv-block-herosplit:not(.pv-hs-hasbg) { background: linear-gradient(120deg, var(--fk-pink-soft), var(--fk-lemon) 55%, var(--fk-sky)) !important; }
body.theme-frankie .pv-hs-heading { font-size: clamp(2.2rem, 5vw, 4rem) !important; }
body.theme-frankie .pv-hs-media img, body.theme-frankie .pv-hs-media { border-radius: var(--fk-radius-lg); }
body.theme-frankie .pv-hs-media img { border: var(--fk-stroke); }
body.theme-frankie .pv-hs-text p { color: var(--fk-ink); }
/* Hero (single): rounded inner card */
body.theme-frankie .pv-block-hero { color: var(--fk-ink) !important; }
body.theme-frankie .pv-block-hero:not([style*="background-image"]) { background: linear-gradient(120deg, var(--fk-pink-soft), var(--fk-lavender)) !important; }
body.theme-frankie .pv-block-hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
body.theme-frankie .pv-block-hero p { color: var(--fk-ink) !important; opacity: 1 !important; }

/* Feature boxes: pastel band with a scalloped bottom edge */
body.theme-frankie .pv-block-features { background: var(--fk-lemon) !important; padding-bottom: 28px; position: relative; }
body.theme-frankie .pv-block-features::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -16px; height: 32px;
    background: radial-gradient(circle at 16px 0, var(--fk-lemon) 16px, transparent 17px) 0 0 / 32px 32px repeat-x;
}
body.theme-frankie .box_topic { background: transparent; border: 0; box-shadow: none; text-align: center; }
body.theme-frankie .box_topic i { color: var(--fk-ink); font-size: 2rem; }
body.theme-frankie .box_topic h3 { font-size: .8rem; letter-spacing: .08em; margin-top: 10px; }
body.theme-frankie .box_topic p { color: var(--fk-ink); }

/* Category tiles: rounded pastel cards, stroke, pill label */
body.theme-frankie .pv-block-categories { padding-top: 24px; }
body.theme-frankie .pv-cat-tile { display: block; padding: 10px; border: var(--fk-stroke); border-radius: var(--fk-radius-lg); background: var(--fk-pink-soft); transition: transform .2s ease, box-shadow .2s ease; color: var(--fk-ink); }
body.theme-frankie .col-6:nth-child(4n+2) .pv-cat-tile { background: var(--fk-mint); }
body.theme-frankie .col-6:nth-child(4n+3) .pv-cat-tile { background: var(--fk-lavender); }
body.theme-frankie .col-6:nth-child(4n+4) .pv-cat-tile { background: var(--fk-sky); }
body.theme-frankie .pv-cat-tile:hover { transform: translateY(-3px); box-shadow: 4px 4px 0 var(--fk-ink); }
body.theme-frankie .pv-cat-thumb { border-radius: var(--fk-radius); border: var(--fk-stroke); background-color: #fff; }
body.theme-frankie .pv-cat-name, body.theme-frankie .pv-cat-thumb-label {
    display: inline-block; margin-top: 10px; padding: 6px 16px; background: #fff; border: var(--fk-stroke); border-radius: var(--fk-pill);
    font-weight: 800; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--fk-ink);
}

/* Product cards: clean, rounded, outline pill button on hover */
body.theme-frankie .grid_item { background: #fff; border: 0; border-radius: var(--fk-radius); padding: 0 0 14px; text-align: center; transition: transform .2s ease; }
body.theme-frankie .grid_item:hover { transform: translateY(-3px); }
body.theme-frankie .grid_item figure { border-radius: var(--fk-radius); border: var(--fk-stroke); overflow: hidden; background: var(--fk-pink-soft); margin: 0 0 14px; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
body.theme-frankie .grid_item figure img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; }
body.theme-frankie .grid_item h3 { font-size: .85rem; letter-spacing: .06em; font-weight: 800; color: var(--fk-ink); padding: 0 10px; }
body.theme-frankie .grid_item a:hover h3 { color: var(--fk-accent); }
body.theme-frankie .new_price, body.theme-frankie .grid_item .price_box .new_price, body.theme-frankie .price_main .new_price { color: var(--pv-accent-custom, var(--fk-ink)) !important; font-weight: 600; }
body.theme-frankie .old_price { color: var(--fk-muted) !important; }
body.theme-frankie .pv-pg-badge, body.theme-frankie .ribbon { background: var(--fk-lemon) !important; color: var(--fk-ink) !important; border: var(--fk-stroke); border-radius: var(--fk-pill); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .62rem; }

/* Promo band + marquee: pastel with black strokes top and bottom */
body.theme-frankie .pv-block-promo { color: var(--fk-ink) !important; }
body.theme-frankie .pv-block-promo:not([style*="background-image"]) { background: var(--fk-lavender) !important; }
body.theme-frankie .pv-block-promo h2, body.theme-frankie .pv-block-promo p { color: var(--fk-ink) !important; }
body.theme-frankie .pv-block-promo .btn_1 { background: #fff !important; color: var(--fk-ink) !important; border: var(--fk-stroke) !important; }
body.theme-frankie .pv-marquee { border-top: var(--fk-stroke); border-bottom: var(--fk-stroke); }
body.theme-frankie .pv-marquee .pv-mq-track { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Columns / text / testimonials / blog cards */
body.theme-frankie .pv-block-columns img { border-radius: var(--fk-radius-lg); border: var(--fk-stroke); }
body.theme-frankie .pv-block-testimonials .review_card, body.theme-frankie .pv-block-testimonials .card, body.theme-frankie .pv-block-testimonials blockquote {
    background: #fff; border: var(--fk-stroke); border-radius: var(--fk-radius); box-shadow: 4px 4px 0 var(--fk-ink); color: var(--fk-ink);
}
body.theme-frankie .pv-blog-card, body.theme-frankie article.blog { background: #fff; border: var(--fk-stroke); border-radius: var(--fk-radius); overflow: hidden; }
body.theme-frankie .pv-blog-card img, body.theme-frankie article.blog img { border-radius: 0; }
body.theme-frankie .pv-subcat-card { border: var(--fk-stroke); border-radius: var(--fk-radius); background: var(--fk-mint); color: var(--fk-ink); }
body.theme-frankie .pv-gal-cell, body.theme-frankie .pv-gal-face { border-radius: var(--fk-radius) !important; }
body.theme-frankie .pv-gal-cell { border: var(--fk-stroke); }
body.theme-frankie .owl-dots .owl-dot span { border: var(--fk-stroke); background: #fff; }
body.theme-frankie .owl-dots .owl-dot.active span { background: var(--fk-lemon); }

/* ---- Listing / filters / pagination ------------------------------------------- */
body.theme-frankie .filter_type h4, body.theme-frankie .filter_col h4 { font-size: .8rem; letter-spacing: .08em; }
body.theme-frankie .form-control, body.theme-frankie .form-select, body.theme-frankie select, body.theme-frankie input[type=text], body.theme-frankie input[type=email], body.theme-frankie input[type=number], body.theme-frankie textarea {
    border: var(--fk-stroke) !important; border-radius: 12px !important; background: #fff; color: var(--fk-ink); font-family: var(--fk-body);
}
body.theme-frankie .form-control:focus, body.theme-frankie .form-select:focus, body.theme-frankie input:focus, body.theme-frankie textarea:focus, body.theme-frankie select:focus,
body.theme-frankie .pv-bq-search input:focus, body.theme-frankie .pv-cp-search input:focus { outline: none !important; box-shadow: none !important; border-color: var(--fk-ink) !important; background-color: var(--fk-pink-soft); }
body.theme-frankie .pagination .page-link { border: var(--fk-stroke); color: var(--fk-ink); background: #fff; }
body.theme-frankie .pagination .page-item.active .page-link { background: var(--fk-lemon); color: var(--fk-ink); }
body.theme-frankie .pagination .page-link:hover { background: var(--fk-pink-soft); }

/* ---- Product page ---------------------------------------------------------------- */
body.theme-frankie .product_page .prod_pics, body.theme-frankie figure.pv-prod-img, body.theme-frankie .pv-gallery img, body.theme-frankie #pv-main-img { border-radius: var(--fk-radius-lg); border: var(--fk-stroke); background: var(--fk-pink-soft); }
body.theme-frankie .pv-thumbs .pv-thumb { border-radius: 12px; border: var(--fk-stroke); }
body.theme-frankie .pv-thumbs .pv-thumb.active { border-color: var(--fk-accent); box-shadow: 0 0 0 2px var(--fk-accent); }
body.theme-frankie .numbers-row { border: var(--fk-stroke); border-radius: var(--fk-pill); overflow: hidden; background: #fff; }
body.theme-frankie .numbers-row input { background: transparent; border: 0 !important; color: var(--fk-ink); }
body.theme-frankie .numbers-row .button_inc { background: var(--fk-lemon); color: var(--fk-ink); border: 0; }
body.theme-frankie .pv-desc-tabs { border-bottom: var(--fk-stroke); }
body.theme-frankie .pv-desc-tab { color: var(--fk-ink); border-bottom: 3px solid var(--fk-accent); }
body.theme-frankie .pv-desc-body { background: var(--fk-pink-soft); border-radius: var(--fk-radius); border: var(--fk-stroke); color: var(--fk-ink); }
body.theme-frankie .pv-desc-body table td, body.theme-frankie .pv-desc-body table th { border-color: rgba(17,17,17,.15); }

/* ---- Cart / checkout --------------------------------------------------------------- */
body.theme-frankie .cart_section .box_general, body.theme-frankie .box_general, body.theme-frankie .checkout_section .box_general { background: #fff; border: var(--fk-stroke); border-radius: var(--fk-radius); box-shadow: 4px 4px 0 var(--fk-ink); }
body.theme-frankie .cart-list td, body.theme-frankie table.cart-list td { border-color: rgba(17,17,17,.12); }

/* ---- Footer ------------------------------------------------------------------------ */
/* Footer colour: the store's Theme Changes / Footer section colour (--pv-footer), pink-soft by default */
body.theme-frankie footer, body.theme-frankie body > footer { background: var(--pv-footer, var(--fk-pink-soft)) !important; border-top: var(--fk-stroke); color: var(--fk-ink); }
body.theme-frankie footer h3, body.theme-frankie footer .pv-fc h6, body.theme-frankie footer .pv-fc-brand, body.theme-frankie footer .pv-fm-brand { color: var(--fk-ink) !important; font-size: .8rem !important; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; }
body.theme-frankie footer .pv-fc-brand, body.theme-frankie footer .pv-fm-brand { font-size: 1.1rem !important; }
body.theme-frankie footer a, body.theme-frankie footer .links ul li a, body.theme-frankie footer .contacts ul li, body.theme-frankie footer ul.additional_links li, body.theme-frankie footer ul.additional_links li a, body.theme-frankie footer .pv-fc-blurb, body.theme-frankie footer .pv-fc-bottom, body.theme-frankie footer .pv-fm-copy, body.theme-frankie footer .additional_links span, body.theme-frankie footer .additional_links li:after { color: var(--fk-ink) !important; opacity: 1 !important; }
body.theme-frankie footer a:hover, body.theme-frankie footer .links ul li a:hover { color: var(--fk-accent) !important; }
body.theme-frankie footer .contacts ul li i { color: var(--fk-ink) !important; opacity: 1; }
/* Social glyphs: white on the black circles (the contacts-icon rule above must not reach these) */
body.theme-frankie footer .follow_us ul li a i, body.theme-frankie footer .pv-fc-social a i, body.theme-frankie footer .pv-fm-social a i { color: inherit !important; display: block; line-height: 1; vertical-align: 0; font-size: 1rem; }
body.theme-frankie footer .follow_us ul li a i::before, body.theme-frankie footer .pv-fc-social a i::before, body.theme-frankie footer .pv-fm-social a i::before { display: block; line-height: 1; vertical-align: 0; }
body.theme-frankie footer hr, body.theme-frankie footer .pv-fc-bottom { border-color: rgba(17,17,17,.25) !important; }
body.theme-frankie footer #newsletter input { border: var(--fk-stroke); border-radius: var(--fk-pill); background: #fff; color: var(--fk-ink); }
body.theme-frankie footer #newsletter button { background: var(--fk-ink); color: #fff; border-radius: 0 var(--fk-pill) var(--fk-pill) 0; }
body.theme-frankie footer .follow_us ul { display: flex; gap: 10px; margin: 0; padding: 0; }
body.theme-frankie footer .follow_us ul li { float: none; margin: 0; }
body.theme-frankie footer .follow_us ul li a, body.theme-frankie footer .pv-fc-social a, body.theme-frankie footer .pv-fm-social a {
    display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin: 0; background: var(--fk-ink); border: var(--fk-stroke); border-radius: 50%; color: #fff !important; font-size: 1.05rem; opacity: 1; line-height: 1;
}
body.theme-frankie footer .pv-fc-social, body.theme-frankie footer .pv-fm-social { display: flex; gap: 10px; }
body.theme-frankie footer .follow_us ul li a:hover, body.theme-frankie footer .pv-fc-social a:hover, body.theme-frankie footer .pv-fm-social a:hover { background: var(--fk-lemon); color: var(--fk-ink) !important; transform: translateY(-2px); }
body.theme-frankie footer .links .follow_us ul li a:after { content: none !important; display: none !important; }
body.theme-frankie footer .follow_us h5 { color: var(--fk-ink); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

/* Footer / header text + link-hover colours from the Footer / Navigation sections ("Section colors") */
body.theme-frankie footer, body.theme-frankie footer h3, body.theme-frankie footer h5, body.theme-frankie footer h6, body.theme-frankie footer p, body.theme-frankie footer li, body.theme-frankie footer span,
body.theme-frankie footer a, body.theme-frankie footer .contacts ul li i, body.theme-frankie footer .pv-fc-brand, body.theme-frankie footer .pv-fm-brand, body.theme-frankie footer .pv-fc-blurb,
body.theme-frankie footer .pv-fc-bottom, body.theme-frankie footer .pv-fm-copy, body.theme-frankie footer ul.additional_links li, body.theme-frankie footer ul.additional_links li a, body.theme-frankie footer .follow_us h5 { color: var(--pv-footer-text, var(--fk-ink)) !important; }
body.theme-frankie footer a:hover, body.theme-frankie footer .links ul li a:hover { color: var(--pv-footer-hover, var(--fk-accent)) !important; }
body.theme-frankie footer .follow_us ul li a, body.theme-frankie footer .pv-fc-social a, body.theme-frankie footer .pv-fm-social a { background: var(--pv-footer-text, var(--fk-ink)); border-color: var(--pv-footer-text, var(--fk-ink)); }
body.theme-frankie footer .follow_us ul li a i, body.theme-frankie footer .pv-fc-social a i, body.theme-frankie footer .pv-fm-social a i { color: var(--pv-footer, #fff) !important; }
body.theme-frankie footer .follow_us ul li a:hover, body.theme-frankie footer .pv-fc-social a:hover, body.theme-frankie footer .pv-fm-social a:hover { background: var(--pv-footer-hover, var(--fk-lemon)); border-color: var(--pv-footer-text, var(--fk-ink)); }
body.theme-frankie footer .follow_us ul li a:hover i, body.theme-frankie footer .pv-fc-social a:hover i, body.theme-frankie footer .pv-fm-social a:hover i { color: var(--pv-footer-text, var(--fk-ink)) !important; }
body.theme-frankie footer #newsletter button { background: var(--pv-footer-text, var(--fk-ink)); color: var(--pv-footer, #fff); }
body.theme-frankie footer hr, body.theme-frankie footer .pv-fc-bottom { border-color: var(--pv-footer-text, rgba(17,17,17,.25)) !important; opacity: 1; }
body.theme-frankie .fk-topbar, body.theme-frankie .fk-tool, body.theme-frankie .fk-menu > a, body.theme-frankie .fk-menu .pv-nav-dd > a, body.theme-frankie .fk-burger span { color: var(--pv-header-text, var(--fk-ink)); }
body.theme-frankie .fk-burger span { background: var(--pv-header-text, var(--fk-ink)); }
body.theme-frankie .fk-tool:hover, body.theme-frankie .fk-menu > a:hover, body.theme-frankie .fk-menu .pv-nav-dd:hover > a { color: var(--pv-header-hover, var(--fk-ink)); }
body.theme-frankie .pv-boutique .pv-bq-nav a, body.theme-frankie .pv-boutique .pv-bq-icon, body.theme-frankie .pv-compact .pv-cp-nav a, body.theme-frankie .pv-compact .pv-cp-icon { color: var(--pv-header-text, var(--fk-ink)); }
body.theme-frankie .pv-boutique .pv-bq-nav > a:hover, body.theme-frankie .pv-compact .pv-cp-nav > a:hover { color: var(--pv-header-hover, var(--fk-ink)); }

/* ---- Misc ---------------------------------------------------------------------------- */
body.theme-frankie #pv-cookie { background: #fff; border-top: var(--fk-stroke); color: var(--fk-ink); }
body.theme-frankie ::selection { background: var(--fk-lemon); color: var(--fk-ink); }
/* Shop-coloured sections keep their colour; make sure text stays readable on light pastels */
body.theme-frankie section[class*="pv-block-"][style*="background"] h2,
body.theme-frankie section[class*="pv-block-"][style*="background"] h3,
body.theme-frankie section[class*="pv-block-"][style*="background"] p { color: var(--fk-ink); }
