/* === Afrodita Blocks — Shared Styles (frontend + editor) === */

/* === CONTAINER === */
.afr-container { max-width: 1366px; margin: 0 auto; padding: 0; }
@media (max-width: 1366px) { .afr-container { padding: 0 20px; } }

/* === LOCAL FONTS: Montserrat (cyrillic + latin) === */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/montserrat-400-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/montserrat-400-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/montserrat-600-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/montserrat-600-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/montserrat-700-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/montserrat-700-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('fonts/montserrat-900-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('fonts/montserrat-900-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Fallback CSS variables (overridden by mu-plugin on frontend) */
:root {
    --afr-primary: #6C2D82;
    --afr-primary-hover: #5a2570;
    --afr-accent: #E91E63;
    --afr-accent-hover: #C2185B;
    --afr-dark: #1A1A2E;
    --afr-text: #333333;
    --afr-text-light: #666666;
    --afr-bg: #FFFFFF;
    --afr-bg-alt: #F5F5F5;
    --afr-border: #E0E0E0;
    --afr-white: #FFFFFF;
    --afr-link: #E91E63;
    --afr-footer-bg: #1A1A2E;
    --afr-footer-text: #8A8A9A;
    --afr-footer-hover: #FFFFFF;
    --afr-fs-xs: clamp(12px, 0.6958rem + 0.2312vw, 14px);
    --afr-fs-sm: clamp(14px, 0.8208rem + 0.2312vw, 16px);
    --afr-fs-base: clamp(16px, 0.9458rem + 0.2312vw, 18px);
    --afr-fs-md: clamp(18px, 1.0166rem + 0.4624vw, 22px);
    --afr-fs-lg: clamp(24px, 1.2832rem + 0.9249vw, 32px);
    --afr-fs-xl: clamp(32px, 1.5665rem + 1.8497vw, 48px);
    --afr-fs-2xl: clamp(40px, 1.6329rem + 3.6994vw, 72px);
}

/* === HERO HOME === */
.afr-hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    font-family: 'Montserrat', sans-serif;
}
.afr-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.afr-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgb(95,38,99) 0%, rgb(95,38,99) 50%, rgb(0,0,0) 100%);
    /* opacity controlled via inline style */
}
.afr-hero__content {
    position: relative;
    z-index: 2;
    padding: 160px 0 100px;
    width: 100%;
}
.afr-hero .afr-container { }
.afr-hero__subtitle {
    color: rgba(255,255,255,.6);
    font-size: var(--afr-fs-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 16px;
}
.afr-hero__title {
    color: var(--afr-white);
    font-size: var(--afr-fs-2xl);
    font-weight: 900;
    line-height: 1.05;
    margin: 0 0 24px;
    max-width: 800px;
}
.afr-hero__desc {
    color: rgba(255,255,255,.85);
    font-size: var(--afr-fs-base);
    line-height: 1.7;
    max-width: 620px;
    margin: 0 0 36px;
}
.afr-hero__buttons { display: flex; gap: 16px; flex-wrap: wrap; }
.afr-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 36px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all .25s;
    letter-spacing: .5px;
    font-family: 'Montserrat', sans-serif;
}
.afr-hero__btn--primary {
    background: var(--afr-primary);
    color: var(--afr-white);
    border: 2px solid var(--afr-primary);
}
.afr-hero__btn--primary:hover { background: var(--afr-dark); border-color: var(--afr-dark); }
.afr-hero__btn--outline {
    background: transparent;
    color: var(--afr-white);
    border: 2px solid rgba(255,255,255,.5);
}
.afr-hero__btn--outline:hover { border-color: var(--afr-white); background: rgba(255,255,255,.1); }
.afr-hero__btn--dark {
    background: var(--afr-dark);
    color: var(--afr-white);
    border: 2px solid var(--afr-dark);
}
.afr-hero__btn--dark:hover { background: var(--afr-black); border-color: var(--afr-black); }

/* === Full reset of Gutenberg button styles inside Hero === */
.afr-hero .wp-block-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.afr-hero .wp-block-button {
    all: unset;
    display: inline-flex;
}
.afr-hero .wp-block-button a,
.afr-hero .wp-block-button a:link,
.afr-hero .wp-block-button a:visited,
.afr-hero .wp-block-button a:focus,
.afr-hero .wp-block-button a:active,
.afr-hero .wp-block-button .wp-element-button {
    all: unset;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    letter-spacing: .5px;
    font-family: 'Montserrat', sans-serif;
    transition: all .25s;
    background: var(--afr-primary);
    color: var(--afr-white);
    box-sizing: border-box;
}
.afr-hero .wp-block-button a:hover,
.afr-hero .wp-block-button .wp-element-button:hover {
    background: var(--afr-dark);
    color: var(--afr-white);
}
/* Second button — outline */
.afr-hero .wp-block-button:nth-child(2) a,
.afr-hero .wp-block-button:nth-child(2) a:link,
.afr-hero .wp-block-button:nth-child(2) a:visited,
.afr-hero .wp-block-button:nth-child(2) a:focus,
.afr-hero .wp-block-button:nth-child(2) a:active,
.afr-hero .wp-block-button:nth-child(2) .wp-element-button {
    background: transparent;
    color: var(--afr-white);
    border: 2px solid rgba(255,255,255,.5);
}
.afr-hero .wp-block-button:nth-child(2) a:hover,
.afr-hero .wp-block-button:nth-child(2) .wp-element-button:hover {
    border-color: var(--afr-white);
    background: rgba(255,255,255,.1);
    color: var(--afr-white);
}

/* === HERO BOTTOM === */
.afr-hero-bottom {
    position: relative;
    z-index: 2;
    margin-top: -80px;
    padding-bottom: 60px;
    font-family: 'Montserrat', sans-serif;
}
.afr-hero-bottom .afr-container { }
.afr-hero-bottom__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--afr-white);
    box-shadow: 0 10px 60px rgba(0,0,0,.1);
    border-radius: 6px;
    overflow: hidden;
}
.afr-hero-bottom__info {
    background: var(--afr-primary);
    padding: 50px 40px;
    color: var(--afr-white);
}
.afr-hero-bottom__counters {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.afr-counter {
    padding: 40px 30px;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
}
.afr-counter:nth-child(2n) { border-right: none; }
.afr-counter:nth-child(n+3) { border-bottom: none; }
.afr-counter__number {
    font-size: var(--afr-fs-xl);
    font-weight: 900;
    color: var(--afr-dark);
    line-height: 1;
    margin-bottom: 10px;
}
.afr-counter__text {
    font-size: var(--afr-fs-xs);
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* === HERO RESPONSIVE === */
@media (max-width: 920px) {
    .afr-hero { min-height: 70vh; }
    .afr-hero__content { padding: 120px 0 80px; }
    .afr-hero-bottom { margin-top: -40px; }
    .afr-hero-bottom__inner { grid-template-columns: 1fr; }
    .afr-hero-bottom__info { padding: 36px 28px; }
}
@media (max-width: 544px) {
    .afr-hero__content { padding: 100px 0 60px; }
    /* font sizes handled by fluid --afr-fs-* variables */
    .afr-hero__buttons { flex-direction: column; }
    .afr-hero__btn { width: 100%; text-align: center; }
    .afr-counter { padding: 24px 20px; }
    /* counter font size handled by fluid --afr-fs-* variables */
}

/* === HERO BOTTOM — InnerBlocks content styling === */
.afr-hero-bottom__info p {
    color: rgba(255,255,255,.7);
    font-size: var(--afr-fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 12px;
}
.afr-hero-bottom__info h2 {
    font-size: var(--afr-fs-lg);
    font-weight: 900;
    line-height: 1.2;
    margin: 0 0 20px;
    color: var(--afr-white);
}
.afr-hero-bottom__info p + h2 + p,
.afr-hero-bottom__info p:last-of-type {
    font-size: var(--afr-fs-sm);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.7;
    color: rgba(255,255,255,.85);
}

/* === HERO BOTTOM — Gutenberg block resets === */
.afr-hero-bottom__info .wp-block-heading {
    color: var(--afr-white);
}
.afr-hero-bottom__info .wp-block-paragraph {
    color: rgba(255,255,255,.85);
}

/* === EDITOR PREVIEW (compact) === */
.afr-hero.is-editor {
    min-height: auto;
}
.afr-hero.is-editor .afr-hero__content {
    padding: 40px 0 30px;
}
.afr-hero-bottom.is-editor {
    margin-top: 0;
    padding-bottom: 10px;
}
.afr-hero-bottom.is-editor .afr-hero-bottom__info {
    padding: 30px 24px;
}
.afr-hero-bottom.is-editor .afr-counter {
    padding: 20px 16px;
}
.afr-hero-bottom.is-editor .afr-counter__number {
    font-size: 28px;
}

/* === STORE CARDS === */
.afr-store-cards {
    padding: 60px 0;
    font-family: 'Montserrat', sans-serif;
}
.afr-store-cards .afr-container { }
.afr-store-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.afr-shop-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    color: var(--afr-white);
    min-height: 380px;
    padding: 50px 24px;
    border-radius: 6px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}
.afr-shop-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(95,38,99,.65) 0%, rgba(95,38,99,.55) 50%, rgba(26,26,46,.7) 100%);
    transition: opacity .3s;
}
.afr-shop-card:hover .afr-shop-card__overlay {
    opacity: .85;
}
.afr-shop-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 1;
}
.afr-shop-card__title {
    font-size: var(--afr-fs-md);
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
    color: var(--afr-white);
}
.afr-shop-card__address,
.afr-shop-card__hours {
    margin: 0;
    font-size: var(--afr-fs-xs);
    color: rgba(255,255,255,.8);
    line-height: 1.4;
}
.afr-shop-card__icons {
    display: flex;
    gap: 20px;
    margin: 8px 0;
}
.afr-shop-card__icon {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    transition: color .2s;
    cursor: pointer;
}
.afr-shop-card__icon:hover { color: var(--afr-white); }
.afr-shop-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    font-size: var(--afr-fs-xs);
    font-weight: 600;
    color: var(--afr-white);
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 4px;
    transition: all .25s;
    margin-top: auto;
}
.afr-shop-card__btn:hover {
    background: var(--afr-primary);
    border-color: var(--afr-primary);
    color: var(--afr-white);
}

/* === STORE CARDS RESPONSIVE === */
@media (max-width: 920px) {
    .afr-store-cards__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 544px) {
    .afr-store-cards { padding: 40px 0; }
    .afr-store-cards__grid { grid-template-columns: 1fr; }
    .afr-shop-card { min-height: 300px; padding: 36px 20px; }
}

/* =============================================
   STORES MAP
   ============================================= */
.afr-stores-map {
    padding: 40px 0 0;
}
.afr-stores-map .afr-container {
    margin-bottom: 24px;
}
.afr-stores-map__canvas {
    width: 100%;
    height: 450px;
}
.afr-stores-map h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--afr-font-xl, clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem));
    font-weight: 700;
    color: var(--afr-dark, #5f2663);
    margin: 0;
}
/* Preview placeholder — hidden on frontend, shown in editor */
.afr-stores-map__preview {
    display: none;
    background: #e8e8e8;
    height: 400px;
    align-items: center;
    justify-content: center;
    color: #666;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    flex-direction: column;
}
.afr-stores-map.is-editor {
    padding: 20px 0;
}
.afr-stores-map.is-editor .afr-stores-map__canvas {
    display: none;
}
.afr-stores-map.is-editor .afr-stores-map__preview {
    display: flex;
}
/* InfoWindow styling */
.gm-style .gm-style-iw-c {
    border-radius: 12px !important;
    padding: 8px !important;
}
.gm-style .gm-style-iw-d {
    overflow: auto !important;
}
@media (max-width: 544px) {
    .afr-stores-map__canvas { height: 350px; }
    .afr-stores-map { padding: 30px 0 0; }
}

/* =============================================
   SEO TEXT
   ============================================= */
.afr-seo-text {
    max-width: 1240px;
    margin: 0 auto;
    padding: 50px 20px 60px;
}
.afr-seo-text h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--afr-font-xl, clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem));
    font-weight: 700;
    color: var(--afr-dark, #5f2663);
    margin: 0 0 24px;
}
.afr-seo-text h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--afr-font-lg, clamp(1.25rem, 1rem + 0.8vw, 1.5rem));
    font-weight: 700;
    color: var(--afr-dark, #5f2663);
    margin: 32px 0 12px;
}
.afr-seo-text p {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--afr-font-base, clamp(0.938rem, 0.85rem + 0.3vw, 1.063rem));
    color: var(--afr-text, #242424);
    line-height: 1.7;
    margin: 0 0 16px;
}
.afr-seo-text ul {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--afr-font-base, clamp(0.938rem, 0.85rem + 0.3vw, 1.063rem));
    color: var(--afr-text, #242424);
    line-height: 1.7;
    padding-left: 24px;
    margin: 0 0 16px;
}
.afr-seo-text li {
    margin-bottom: 12px;
}
.afr-seo-text a {
    color: var(--afr-link, #56b1d3);
    text-decoration: none;
}
.afr-seo-text a:hover {
    text-decoration: underline;
}

/* === Single Shop: reset GP one-container padding === */
body.single-shop .site-content { padding: 0; }
body.single-shop .inside-article { padding: 0; }
body.single-shop .entry-content { margin: 0; }
body.single-shop .featured-image.page-header-image-single { display: none !important; }
body.single-shop .page-header-image-single { display: none !important; }

/* === HERO STORE (full-width, same pattern as .afr-hero) === */
.afr-hero-store {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.afr-hero-store__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--afr-dark, #5f2663);
}
.afr-hero-store__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(95,38,99,0.75) 0%, rgba(0,0,0,0.6) 100%);
    z-index: 1;
}
.afr-hero-store__content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 160px 0 80px;
    text-align: center;
    color: var(--afr-white, #fff);
}
.afr-hero-store__content .afr-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.afr-hero-store__title {
    font-size: var(--afr-fs-2xl, clamp(2rem, 5vw, 3.5rem));
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--afr-white, #fff);
    line-height: 1.1;
}
.afr-hero-store__divider {
    width: 80px;
    height: 2px;
    background: var(--afr-white, #fff);
    margin: 8px 0 16px;
}
.afr-hero-store__icons {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 16px;
}
.afr-hero-store__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    color: var(--afr-white, #fff);
    transition: border-color 0.3s, background 0.3s;
}
.afr-hero-store__icon:hover {
    border-color: var(--afr-white, #fff);
    background: rgba(255,255,255,0.15);
}
.afr-hero-store__icon svg {
    width: 22px;
    height: 22px;
}
.afr-hero-store__address {
    font-size: var(--afr-fs-base, 1rem);
    margin: 0;
    opacity: 0.85;
}
.afr-hero-store__phone {
    display: inline-block;
    font-size: var(--afr-fs-xl, clamp(1.3rem, 2.5vw, 1.6rem));
    font-weight: 600;
    color: var(--afr-white, #fff);
    text-decoration: none;
}
.afr-hero-store__phone:hover {
    color: var(--afr-white, #fff);
    opacity: 0.8;
}
.afr-hero-store__hours {
    font-size: var(--afr-fs-base, 1rem);
    margin: 0;
    opacity: 0.85;
}
@media (max-width: 768px) {
    .afr-hero-store { min-height: 60vh; }
    .afr-hero-store__content { padding: 120px 0 60px; }
    .afr-hero-store__icon { width: 44px; height: 44px; }
    .afr-hero-store__icon svg { width: 20px; height: 20px; }
}

/* === FEATURES BAR === */
.afr-features-bar { background: var(--afr-primary, #a75a9e); padding: 20px 0; }
.afr-features-bar__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.afr-features-bar__item {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    color: #fff; text-decoration: none; text-transform: uppercase;
    font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em;
    transition: opacity 0.3s; padding: 8px 4px;
}
.afr-features-bar__item:hover { opacity: 0.8; color: #fff; }
.afr-features-bar__item svg { flex-shrink: 0; width: 36px; height: 36px; }
@media (max-width: 768px) {
    .afr-features-bar__grid { grid-template-columns: 1fr; gap: 8px; }
    .afr-features-bar__item { justify-content: flex-start; padding: 6px 0; }
    .afr-features-bar__item svg { width: 28px; height: 28px; }
}

/* === STORE CONTENT + COUPON === */
.afr-store-content { padding: 40px 0 48px; }
.afr-store-content__grid { display: grid; grid-template-columns: 1fr 260px; gap: 40px; align-items: start; }
.afr-store-content__text { line-height: 1.75; font-size: var(--afr-fs-base, 1rem); }
.afr-store-content__text h2, .afr-store-content__text h3 {
    color: var(--afr-dark, #5f2663); margin: 28px 0 12px; font-size: var(--afr-fs-h3, 1.25rem);
}
.afr-store-content__text p { margin: 0 0 16px; }
.afr-store-content__text ul, .afr-store-content__text ol { margin: 0 0 16px; padding-left: 20px; }
.afr-store-content__coupon-card {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: var(--afr-link, #56b1d3); color: #fff; border-radius: 12px;
    padding: 32px 20px; text-align: center; position: sticky; top: 100px;
    text-decoration: none; transition: opacity 0.3s;
}
.afr-store-content__coupon-card:hover { opacity: 0.9; color: #fff; }
.afr-store-content__coupon-card svg { margin-bottom: 16px; flex-shrink: 0; }
.afr-store-content__coupon-card p {
    margin: 0; font-size: 0.85rem; font-weight: 600; line-height: 1.5;
}
@media (max-width: 768px) {
    .afr-store-content__grid { grid-template-columns: 1fr; gap: 24px; }
    .afr-store-content__coupon { order: -1; }
    .afr-store-content__coupon-card { position: static; flex-direction: row; gap: 16px; padding: 20px 24px; }
    .afr-store-content__coupon-card svg { margin-bottom: 0; width: 40px; height: 40px; }
}

/* === GOOGLE REVIEWS === */
.afr-google-reviews { padding: 48px 0; background: var(--afr-bg-light, #f8f8f8); }
.afr-google-reviews .afr-container > h2 {
    font-size: var(--afr-fs-h2, clamp(1.5rem, 3vw, 2rem));
    color: var(--afr-dark, #5f2663); text-align: center; margin: 0 0 24px;
}

/* === STORE MAP === */
.afr-store-map { padding: 48px 0 0; }
.afr-store-map__heading {
    font-size: var(--afr-fs-h2, clamp(1.5rem, 3vw, 2rem));
    color: var(--afr-dark, #5f2663); text-align: center; margin-bottom: 24px;
}
.afr-store-map__canvas { width: 100%; height: 450px; }

/* === PROMO GRID === */
.afr-promo-grid { padding: 48px 0; }
.afr-promo-grid__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.afr-promo-grid__heading {
    font-size: var(--afr-fs-h2, clamp(1.5rem, 3vw, 2rem));
    color: var(--afr-dark, #5f2663); text-align: center; margin: 0 0 24px;
}
.afr-promo-grid__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.afr-promo-grid__card {
    display: block; text-decoration: none; color: var(--afr-text, #242424);
    transition: opacity 0.3s;
}
.afr-promo-grid__card:hover { opacity: 0.8; }
.afr-promo-grid__image {
    width: 100%; aspect-ratio: 3/4; display: block; object-fit: cover; border-radius: 6px;
}
.afr-promo-grid__title {
    padding: 8px 0; margin: 0; font-size: var(--afr-fs-sm, 0.875rem); font-weight: 600;
}
@media (max-width: 768px) {
    .afr-promo-grid__columns { grid-template-columns: 1fr; gap: 32px; }
    .afr-promo-grid__list { grid-template-columns: 1fr; }
}

/* === JOIN CTA === */
.afr-join-cta {
    position: relative; padding: 80px 0; text-align: center;
    background-color: var(--afr-dark, #5f2663); overflow: hidden;
}
.afr-join-cta__bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center; background-repeat: no-repeat;
}
.afr-join-cta__overlay {
    position: absolute; inset: 0; background: rgba(95,38,99,0.75); z-index: 1;
}
.afr-join-cta__content {
    position: relative; z-index: 2; max-width: 700px; margin: 0 auto;
    color: #fff; padding: 0 20px;
}
.afr-join-cta__content h2 {
    font-size: var(--afr-fs-h2, clamp(1.5rem, 3vw, 2rem)); margin: 0 0 16px; color: #fff;
}
.afr-join-cta__content p { margin: 0 0 28px; opacity: 0.9; line-height: 1.7; font-size: var(--afr-fs-base, 1rem); }
.afr-join-cta__btn {
    display: inline-block; padding: 14px 36px; border-radius: 6px;
    background: var(--afr-primary, #a75a9e); color: #fff; text-decoration: none;
    font-weight: 600; font-size: var(--afr-fs-base, 1rem); transition: background 0.3s;
}
.afr-join-cta__btn:hover { background: var(--afr-link, #56b1d3); color: #fff; }
