/**
 * Viking Barbershop — sf-* reskin stylesheet
 *
 * Makes the migrated sf-* library blocks render PIXEL-IDENTICAL to viking's
 * bespoke design (Anton / Cormorant / Barlow fonts, gold gradient, dark theme).
 *
 * EVERY rule is scoped under `.sf-viking` so it can NEVER affect another site.
 * Loaded AFTER viking.css (the `sf-bundle-viking` handle that provides the
 * --gold / --cream / --ink tokens + the @font-face / Google-Font families) so
 * these rules override the canonical library styles for viking only.
 *
 * Assembled from the per-section reskinCss spec (7 sections).
 * This file lives outside SF_CORE_UPDATE_WHITELIST so it survives theme updates.
 *
 * @package SalesFision
 */


/* ============================================================================
   hero-viking  ->  sf-hero (layout = "video-fullscreen")
   ============================================================================ */
/* Viking reskin of sf-hero (layout=video-fullscreen). Scope: page wrapper carries .sf-viking,
   and viking.css (Anton/Cormorant/Barlow + --gold/--cream/--ink tokens) is already loaded. */

/* ── Section shell: fullscreen, dark, top padding for fixed 72px nav ── */
.sf-viking [data-sf-block="sf-hero"] .sf-hero{
  min-height:100vh; background:#070707; position:relative;
  padding:72px 1.5rem 0; justify-content:center; text-align:center;
}

/* ── Background video: viking opacity 0.4, no filter ── */
.sf-viking [data-sf-block="sf-hero"] #hero-video,
.sf-viking [data-sf-block="sf-hero"] .vk-hero-video{
  opacity:.4; filter:none; object-position:center; z-index:0;
}

/* ── Decorative layers via the two free .sf-hero pseudos (kept behind .hero-content z2) ── */
/* ::before = gold radial glow + bottom fade + 4-stop dark overlay */
.sf-viking [data-sf-block="sf-hero"] .sf-hero::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 700px 500px at 50% 33%, rgba(201,164,97,.15) 0%, transparent 70%),
    linear-gradient(to top, #070707 0, transparent 8rem) bottom/100% 8rem no-repeat,
    linear-gradient(to bottom, rgba(7,7,7,.5) 0%, rgba(7,7,7,.3) 40%, rgba(7,7,7,.7) 80%, rgba(7,7,7,1) 100%);
}
/* ::after = viking noise texture (3.5% / overlay) */
.sf-viking [data-sf-block="sf-hero"] .sf-hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  opacity:.035; mix-blend-mode:overlay;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E") repeat;
}

/* ── Content column ── */
.sf-viking [data-sf-block="sf-hero"] .hero-content{
  position:relative; z-index:2; max-width:72rem; margin:0 auto; padding-bottom:5rem;
}

/* ── Eyebrow / pre-title with flanking gold gradient lines ── */
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow{
  gap:1rem; margin-bottom:2rem; font-family:var(--font-barlow); font-size:11px;
  letter-spacing:.4em; text-transform:uppercase; color:#7A6238; font-weight:600;
}
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow .eb-dot{display:none;}
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow::before,
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow::after{content:""; height:1px; width:64px; opacity:.6;}
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow::before{background:linear-gradient(to right,transparent,#C9A461);}
.sf-viking [data-sf-block="sf-hero"] .hero-eyebrow::after{background:linear-gradient(to left,transparent,#C9A461);}

/* ── Headline: two Anton lines (line1 cream, line2 gold gradient). ──
   font-size:0 on h1 zeroes the inter-element whitespace + empty <em> so centering isn't offset. */
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1{
  font-size:0; font-family:var(--font-anton); line-height:.92; letter-spacing:-.01em;
  margin:0 0 2.5rem; color:var(--cream);
}
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1 br{display:none;}
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1 em:empty,
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1 .alt-font:empty{display:none;}
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1 > span:first-of-type{
  display:block; font-size:clamp(4rem,14vw,11rem); color:var(--cream); margin-bottom:.5rem;
  font-weight:400; letter-spacing:-.01em;
}
.sf-viking [data-sf-block="sf-hero"] .sf-hero h1 .alt-font{
  display:block; font-family:var(--font-anton); font-style:normal; font-weight:400;
  font-size:clamp(4rem,14vw,11rem); letter-spacing:-.01em;
  background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* ── Subtitle ── */
.sf-viking [data-sf-block="sf-hero"] .sf-hero .sub{
  font-family:var(--font-cormorant); font-style:italic; font-weight:300; letter-spacing:0;
  font-size:clamp(1.1rem,2vw,1.5rem); color:#8A8178; max-width:32rem; margin:0 auto 3rem;
}

/* ── CTAs: primary gold + additive secondary outline, on one centered inline row ── */
.sf-viking [data-sf-block="sf-hero"] .btn-hero{
  display:inline-flex; vertical-align:middle; margin:0 .5rem 0 0;
  background:linear-gradient(135deg,#C9A461 0%,#F2C456 50%,#C9A461 100%);
  background-size:200% 100%; background-position:left; color:#070707;
  font-family:var(--font-barlow); font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  padding:1rem 2.5rem; border-radius:.75rem; font-size:14px; box-shadow:none;
}
.sf-viking [data-sf-block="sf-hero"] .btn-hero:hover{
  background-position:right; transform:translateY(-2px); box-shadow:0 8px 32px rgba(201,164,97,.35);
}
.sf-viking [data-sf-block="sf-hero"] .btn-hero-secondary,
.sf-viking [data-sf-block="sf-hero"] .hero-content .btn-outline{
  display:inline-flex; vertical-align:middle; margin:0 0 0 .5rem;
  border:1px solid var(--gold); color:var(--gold); background:transparent;
  font-family:var(--font-barlow); font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:1rem 2rem; border-radius:.75rem; font-size:14px; text-decoration:none;
}
.sf-viking [data-sf-block="sf-hero"] .btn-hero-secondary:hover,
.sf-viking [data-sf-block="sf-hero"] .hero-content .btn-outline:hover{
  background:var(--gold); color:var(--ink); transform:translateY(-1px);
}

/* ── Stats row (additive .hero-stats markup) ── */
.sf-viking [data-sf-block="sf-hero"] .hero-stats{
  display:flex; align-items:center; justify-content:center; gap:4rem; margin-top:3.5rem; flex-wrap:wrap;
}
.sf-viking [data-sf-block="sf-hero"] .hero-stats .stat{text-align:center;}
.sf-viking [data-sf-block="sf-hero"] .hero-stats .stat-num{
  font-family:var(--font-anton); font-size:clamp(1.5rem,3vw,2rem);
  background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.sf-viking [data-sf-block="sf-hero"] .hero-stats .stat-label{
  font-family:var(--font-barlow); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:#5A5550; margin-top:4px;
}

/* ── Scroll indicator (reskin via .hero-content pseudos) ── */
.sf-viking [data-sf-block="sf-hero"] .hero-content::after{
  content:"Scroll"; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  font-family:var(--font-barlow); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:#3A3530;
}
.sf-viking [data-sf-block="sf-hero"] .hero-content::before{
  content:""; position:absolute; left:50%; bottom:1.6rem; width:1px; height:32px;
  background:linear-gradient(to bottom, rgba(201,164,97,.3), transparent);
  animation:vkScrollBob 1.5s ease-in-out infinite;
}
@keyframes vkScrollBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}


/* ============================================================================
   howitworks-viking  ->  sf-process-steps
   ============================================================================ */
/* PLACE IN: viking-barbershop-wp/assets/css/viking.css (viking bundle only — other sites never load it).
   The whole page is wrapped in <div class="sf-viking"> by block-renderer.php, so this scoping reaches the migrated block. */

/* Outer block wrapper -> dark section + bottom radial glow (was <section class="vk-section" style="background:#070707"> + glow div) */
.sf-viking [data-sf-block="sf-process-steps"]{ position:relative; overflow:hidden; background:#070707; padding:7rem 1.5rem; }
.sf-viking [data-sf-block="sf-process-steps"]::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(201,164,97,0.04) 0%,transparent 70%); }

/* Inner container = vk-container; kill sf default padding/max-width (padding now on wrapper) */
.sf-viking [data-sf-block="sf-process-steps"] .process-section{ max-width:72rem; margin:0 auto; padding:0; position:relative; }

/* Header */
.sf-viking [data-sf-block="sf-process-steps"] .process-title{ text-align:center; margin-bottom:5rem; }
.sf-viking [data-sf-block="sf-process-steps"] .section-badge{ display:block; background:none; padding:0; font-family:var(--font-barlow); font-size:11px; font-weight:600; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-dim); margin-bottom:1rem; }
.sf-viking [data-sf-block="sf-process-steps"] .process-title h2{ font-family:var(--font-anton); font-size:clamp(2.5rem,7vw,4.5rem); font-weight:400; color:var(--cream); line-height:1; margin:0; }
.sf-viking [data-sf-block="sf-process-steps"] .process-title h2 .heading-accent{ background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* Steps row + connecting hairline (was .vk-steps + ::before) */
.sf-viking [data-sf-block="sf-process-steps"] .process-steps{ display:flex; flex-direction:column; gap:2rem; position:relative; counter-reset:vkstep; }
@media (min-width:768px){
  .sf-viking [data-sf-block="sf-process-steps"] .process-steps{ flex-direction:row; gap:0; }
  .sf-viking [data-sf-block="sf-process-steps"] .process-steps::before{ content:""; position:absolute; top:64px; left:16.67%; right:16.67%; height:1px; background:linear-gradient(to right,rgba(201,164,97,0.1),rgba(201,164,97,0.3),rgba(201,164,97,0.1)); }
}

/* Each step -> flex column so ghost number can be ordered between icon and title */
.sf-viking [data-sf-block="sf-process-steps"] .process-step{ flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 2rem; counter-increment:vkstep; position:relative; }

/* Icon circle = restyled .step-num: numeral hidden, gold ring + gradient, per-step SVG bg, blurred halo */
.sf-viking [data-sf-block="sf-process-steps"] .step-num{ order:1; width:64px; height:64px; margin:0 0 1.5rem; border-radius:50%; border:1px solid rgba(201,164,97,0.3); color:transparent; font-size:0; position:relative; z-index:1; background-color:transparent; background-image:linear-gradient(135deg,rgba(201,164,97,0.1),rgba(201,164,97,0.02)); }
.sf-viking [data-sf-block="sf-process-steps"] .step-num::after{ content:""; position:absolute; inset:0; border-radius:50%; background:#C9A461; filter:blur(20px); opacity:0.2; z-index:-1; }
/* exact viking SVG paths, gold stroke 1.5, fill none */
.sf-viking [data-sf-block="sf-process-steps"] .process-step:nth-child(1) .step-num{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23C9A461' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7' stroke-linecap='round'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(201,164,97,0.1),rgba(201,164,97,0.02)); background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:28px 28px,auto; }
.sf-viking [data-sf-block="sf-process-steps"] .process-step:nth-child(2) .step-num{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23C9A461' stroke-width='1.5'%3E%3Ccircle cx='5' cy='6' r='3'/%3E%3Ccircle cx='5' cy='18' r='3'/%3E%3Cline x1='8' y1='6' x2='21' y2='18' stroke-linecap='round'/%3E%3Cline x1='8' y1='18' x2='21' y2='6' stroke-linecap='round'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(201,164,97,0.1),rgba(201,164,97,0.02)); background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:28px 28px,auto; }
.sf-viking [data-sf-block="sf-process-steps"] .process-step:nth-child(3) .step-num{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23C9A461' stroke-width='1.5'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='16' r='2'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(201,164,97,0.1),rgba(201,164,97,0.02)); background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:28px 28px,auto; }

/* Big faint ghost number 01/02/03 between icon and title (pure CSS counter, overlapping margins as in render.php) */
.sf-viking [data-sf-block="sf-process-steps"] .process-step::before{ content:counter(vkstep,decimal-leading-zero); order:2; font-family:var(--font-anton); font-size:80px; line-height:1; color:rgba(201,164,97,0.06); margin-top:-1rem; margin-bottom:-2rem; user-select:none; }

/* Title + desc */
.sf-viking [data-sf-block="sf-process-steps"] .process-step h3{ order:3; font-family:var(--font-cormorant); font-size:clamp(1.25rem,2.5vw,1.75rem); font-weight:600; color:var(--cream); margin:0 0 1rem; position:relative; z-index:1; }
.sf-viking [data-sf-block="sf-process-steps"] .process-step p{ order:4; font-family:var(--font-barlow); font-size:14px; color:#5A5550; line-height:1.6; max-width:13rem; margin:0; }


/* ============================================================================
   barbers-viking  ->  sf-team (salesfision-local-site/blocks/sf-team), layout=simple + new card_style=overlay branch
   ============================================================================ */
/* All scoped under the viking wrapper so the canonical sf-team (#111 bg, red #e63946, centered cards) is untouched on other sites. .sf-viking [data-sf-block] (0,2,0) outranks the base [data-sf-block] (0,1,0). Targets the card_style=overlay markup. */

/* ── Section shell (was vk-section + inline bg #070707) ── */
.sf-viking [data-sf-block="sf-team"] .team-section{background:#070707;padding:7rem 1.5rem;position:relative;overflow:hidden;}
.sf-viking [data-sf-block="sf-team"] .section-inner{max-width:72rem;margin:0 auto;}

/* ── Header row: heading left, subtext right, baseline-aligned ── */
.sf-viking [data-sf-block="sf-team"] .section-title{margin-bottom:4rem;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;text-align:left;}
.sf-viking [data-sf-block="sf-team"] .section-badge{display:block;font-family:var(--font-barlow);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-dim);font-weight:600;margin-bottom:1rem;}
.sf-viking [data-sf-block="sf-team"] .section-title h2{font-family:var(--font-anton);font-size:clamp(2.5rem,7vw,4.5rem);color:var(--cream);line-height:1;margin:0;}
.sf-viking [data-sf-block="sf-team"] .section-title h2 .team-heading-accent{display:block;background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sf-viking [data-sf-block="sf-team"] .section-title > p{font-family:var(--font-cormorant);font-size:1.125rem;color:#5A5550;font-style:italic;max-width:18rem;margin:0;}

/* ── Grid: 1 → 2 → 5 cols ── */
.sf-viking [data-sf-block="sf-team"] .team-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.sf-viking [data-sf-block="sf-team"] .team-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.sf-viking [data-sf-block="sf-team"] .team-grid{grid-template-columns:repeat(5,1fr);gap:1rem;}}

/* ── Card shell (override sf-team padded/centered/hover-translate) ── */
.sf-viking [data-sf-block="sf-team"] .team-card--overlay{background:linear-gradient(160deg,#141414,#0F0F0F);border:1px solid rgba(201,164,97,.12);border-radius:1rem;overflow:hidden;padding:0;display:flex;flex-direction:column;position:relative;text-align:left;transition:none;}
.sf-viking [data-sf-block="sf-team"] .team-card--overlay:hover{border-color:rgba(201,164,97,.12);transform:none;}

/* ── Header region (photo or aurora panel), 140px ── */
.sf-viking [data-sf-block="sf-team"] .team-card-header{position:relative;height:140px;overflow:hidden;border-bottom:1px solid rgba(201,164,97,.08);}
.sf-viking [data-sf-block="sf-team"] .team-card-photo{position:absolute;inset:0;}
.sf-viking [data-sf-block="sf-team"] .team-card-photo img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .7s ease;}
.sf-viking [data-sf-block="sf-team"] .team-card--overlay:hover .team-card-photo img{transform:scale(1.05);}
.sf-viking [data-sf-block="sf-team"] .team-card-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#0F0F0F,rgba(7,7,7,.2) 50%,transparent);}

/* Aurora panel (markup: child <div class="team-card-aurora"> in the no-photo branch) + dotted texture + vignette */
.sf-viking [data-sf-block="sf-team"] .team-card-aurora{position:absolute;inset:0;background:radial-gradient(circle at 25% 30%,rgba(242,196,86,.18) 0%,transparent 45%),radial-gradient(circle at 75% 70%,rgba(201,164,97,.14) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(122,98,56,.16) 0%,transparent 60%),linear-gradient(135deg,#161310 0%,#0a0908 60%,#070707 100%);background-size:220% 220%,200% 200%,240% 240%,100% 100%;background-position:0% 0%,100% 100%,50% 50%,0% 0%;animation:vk-aurora-flow 18s ease-in-out infinite;}
.sf-viking [data-sf-block="sf-team"] .team-card-aurora::before{content:"";position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle,#C9A461 1px,transparent 1px);background-size:22px 22px;pointer-events:none;}
.sf-viking [data-sf-block="sf-team"] .team-card-aurora::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(to top,#0F0F0F 0%,rgba(7,7,7,.55) 55%,transparent 100%);pointer-events:none;z-index:3;}
@keyframes vk-aurora-flow{0%,100%{background-position:0% 0%,100% 100%,50% 50%,0% 0%;}33%{background-position:80% 20%,20% 80%,80% 30%,0% 0%;}66%{background-position:20% 80%,80% 20%,20% 70%,0% 0%;}}
@media(prefers-reduced-motion:reduce){.sf-viking [data-sf-block="sf-team"] .team-card-aurora{animation:none;}}

/* Corner ticks (no markup hook — drawn as header pseudo-elements, only on no-photo/aurora cards) */
.sf-viking [data-sf-block="sf-team"] .team-card-header:has(.team-card-aurora)::before{content:"";position:absolute;top:14px;left:14px;width:18px;height:18px;z-index:2;pointer-events:none;border-top:1px solid rgba(201,164,97,.4);border-left:1px solid rgba(201,164,97,.4);}
.sf-viking [data-sf-block="sf-team"] .team-card-header:has(.team-card-aurora)::after{content:"";position:absolute;bottom:14px;right:14px;width:18px;height:18px;z-index:2;pointer-events:none;border-bottom:1px solid rgba(201,164,97,.4);border-right:1px solid rgba(201,164,97,.4);}

/* Rating badge (top-right) */
.sf-viking [data-sf-block="sf-team"] .team-card-rating{position:absolute;top:12px;right:12px;z-index:10;padding:4px 8px;border-radius:8px;font-family:var(--font-barlow);font-size:11px;font-weight:700;color:#070707;background:linear-gradient(135deg,#C9A461,#F2C456);}

/* Name + role overlay. Markup: <h3 class="team-card-name"> sits in the header; <p class="team-card-role">
   lives in .team-card-body — both absolutely positioned bottom-left over the fixed 140px header to
   recreate viking's stacked name/title overlay (role pulled up out of body flow). */
.sf-viking [data-sf-block="sf-team"] .team-card-header .team-card-name{position:absolute;left:16px;bottom:25px;z-index:10;margin:0;font-family:var(--font-anton);font-weight:400;font-size:1.75rem;line-height:1;color:var(--cream);letter-spacing:.05em;}
.sf-viking [data-sf-block="sf-team"] .team-card-role{position:absolute;left:16px;top:117px;z-index:10;margin:0;font-family:var(--font-barlow);font-size:11px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:#C9A461;font-weight:600;}

/* Body */
.sf-viking [data-sf-block="sf-team"] .team-card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1;}
.sf-viking [data-sf-block="sf-team"] .team-card-bio{font-family:var(--font-barlow);font-size:12px;color:#5A5550;line-height:1.6;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sf-viking [data-sf-block="sf-team"] .team-card-specs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.25rem;}
.sf-viking [data-sf-block="sf-team"] .team-card-spec{font-family:var(--font-barlow);font-size:10px;font-weight:600;letter-spacing:.05em;padding:4px 8px;border-radius:6px;background:rgba(201,164,97,.06);border:1px solid rgba(201,164,97,.12);color:#8A7A5A;}
.sf-viking [data-sf-block="sf-team"] .team-card-stars{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.sf-viking [data-sf-block="sf-team"] .team-card-star-row{color:#C9A461;font-size:12px;letter-spacing:2px;}
.sf-viking [data-sf-block="sf-team"] .team-card-reviews{font-family:var(--font-barlow);font-size:12px;color:#3A3530;}

/* Per-card gold CTA (mirrors vk-btn-gold) */
.sf-viking [data-sf-block="sf-team"] .team-card-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;width:100%;padding:.75rem;border-radius:.75rem;font-family:var(--font-barlow);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;text-align:center;color:#070707;background:linear-gradient(135deg,#C9A461 0%,#F2C456 50%,#C9A461 100%);background-size:200% 100%;background-position:left;border:none;cursor:pointer;transition:background-position .4s ease,transform .2s ease,box-shadow .3s ease;}
.sf-viking [data-sf-block="sf-team"] .team-card-btn:hover{background-position:right;transform:translateY(-2px);box-shadow:0 8px 32px rgba(201,164,97,.35);}

/* Hover glow border (no markup hook — drawn as the card's ::after pseudo-element) */
.sf-viking [data-sf-block="sf-team"] .team-card--overlay::after{content:"";position:absolute;inset:0;z-index:5;border-radius:1rem;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(201,164,97,.25),0 8px 40px rgba(201,164,97,.08);opacity:0;transition:opacity .5s;}
.sf-viking [data-sf-block="sf-team"] .team-card--overlay:hover::after{opacity:1;}


/* ============================================================================
   services-viking  ->  sf-pricing with layout="toggle"
   ============================================================================ */
/* Add to viking-barbershop-wp/assets/css/viking.css — viking-only scope.
   Specificity .sf-viking + [data-sf-block] beats the shared block style.css
   ([data-sf-block="sf-pricing"] ...), and load order is after it. */

/* ---- Section shell: viking dark gradient + remove sf-pricing white radial glow ---- */
.sf-viking [data-sf-block="sf-pricing"] .pricing-section{
  background:linear-gradient(180deg,#070707 0%,#0D0B08 40%,#070707 100%);
  padding:7rem 1.5rem;            /* viking .vk-section */
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-section::before{
  background:none; content:none;  /* kill sf-pricing white radial glow */
}
/* viking noise overlay (from .vk-noise::after) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-section::after{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0.035; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-repeat:repeat; mix-blend-mode:overlay;
}
/* optional decorative "CUTS" bg text (desktop only) */
@media(min-width:1024px){
  .sf-viking [data-sf-block="sf-pricing"] .pricing-inner{ position:relative; }
  .sf-viking [data-sf-block="sf-pricing"] .pricing-inner::before{
    content:'CUTS'; position:absolute; right:-2rem; top:50%; transform:translateY(-50%);
    font-family:var(--font-anton); font-size:18vw; color:rgba(201,164,97,0.02);
    line-height:1; pointer-events:none; user-select:none; z-index:0;
  }
}

/* ---- Inner: left-align (viking header is left, not centered), viking max-width ---- */
.sf-viking [data-sf-block="sf-pricing"] .pricing-inner{
  max-width:72rem; text-align:left;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-inner .sub:empty{ display:none; }

/* ---- Heading: eyebrow (::before) + main line + gold accent line (::after) ---- */
.sf-viking [data-sf-block="sf-pricing"] .pricing-inner h2{
  font-family:var(--font-anton); font-weight:400;
  font-size:clamp(2.5rem,7vw,4.5rem); color:var(--cream);
  line-height:1; margin:0 0 4rem;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-inner h2::before{
  content:'ONZE SERVICES'; display:block;
  font-family:var(--font-barlow); font-size:11px; font-weight:600;
  letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-dim);
  margin-bottom:1rem;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-inner h2::after{
  content:'SERVICE.'; display:block;
  background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* ---- Cards grid: viking 1/2/3 columns, gap 1.25rem (replace flex/320px) ---- */
.sf-viking [data-sf-block="sf-pricing"] .pricing-cards{
  display:grid; grid-template-columns:1fr; gap:1.25rem;
  justify-content:initial; flex-wrap:initial;
}
@media(min-width:640px){ .sf-viking [data-sf-block="sf-pricing"] .pricing-cards{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .sf-viking [data-sf-block="sf-pricing"] .pricing-cards{ grid-template-columns:repeat(3,1fr); } }

/* ---- Card shell + internal reflow via grid-areas (icon / title|price / cta) ---- */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card{
  width:auto; backdrop-filter:none; -webkit-backdrop-filter:none;
  background:rgba(15,15,15,0.8); border:1px solid rgba(201,164,97,0.1);
  border-radius:1rem; padding:1.5rem; text-align:left; position:relative; overflow:hidden;
  display:grid; column-gap:1rem; row-gap:0; align-items:start;
  grid-template-columns:1fr auto;
  grid-template-areas:"badge badge" "icon icon" "title price" "cta cta";
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card.popular{
  border:1px solid rgba(201,164,97,0.35);
  background:linear-gradient(150deg,rgba(201,164,97,0.08) 0%,rgba(15,12,5,0.9) 100%);
  box-shadow:none; padding-top:2rem;
}
/* hide unused sf-pricing parts (no labels, no feature lists in viking) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .label,
.sf-viking [data-sf-block="sf-pricing"] .pricing-card ul{ display:none; }

/* icon via ::before (positional, matches render.php $service_icons order) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card::before{
  grid-area:icon; display:block; color:#5A5550; margin-bottom:1.25rem;
  font-size:1.875rem; line-height:1; content:'';
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(1)::before{
  width:28px; height:28px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%235A5550' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='5' cy='6' r='3'/%3E%3Ccircle cx='5' cy='18' r='3'/%3E%3Cline x1='8' y1='6' x2='21' y2='18'/%3E%3Cline x1='8' y1='18' x2='21' y2='6'/%3E%3C/svg%3E") no-repeat center/contain;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(2)::before{ content:'◆'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(3)::before{ content:'★'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(4)::before{ content:'⚡'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(5)::before{ content:'▲'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(6)::before{ content:'○'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(7)::before{ content:'✦'; }
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:nth-child(8)::before{ content:'◇'; }

/* badge "MEEST GEKOZEN": viking gold-gradient static pill (not absolute) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .badge{
  grid-area:badge; justify-self:start; position:static; transform:none;
  display:inline-flex; align-items:center; margin-bottom:0.75rem;
  padding:4px 16px; border-radius:9999px; white-space:nowrap;
  font-family:var(--font-barlow); font-size:10px; font-weight:700;
  letter-spacing:0.15em; text-transform:uppercase;
  background:linear-gradient(135deg,#C9A461,#F2C456); color:#070707;
}

/* name (Cormorant) left + price (Anton gold) right on one row */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .card-title{
  grid-area:title; margin:0 0 0.75rem; font-family:var(--font-cormorant);
  font-size:1.5rem; font-weight:600; color:var(--cream); line-height:1.2;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .price{
  grid-area:price; justify-self:end; text-align:right; display:block;
  margin:0 0 0.75rem; font-family:var(--font-anton); font-size:1.5rem; line-height:1;
  white-space:nowrap;
  background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
/* duration line under the price (from card_unit) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .price .unit{
  display:block; margin:2px 0 0; font-family:var(--font-barlow); font-size:12px;
  font-weight:400; color:#5A5550; -webkit-text-fill-color:#5A5550;
}

/* hover CTA: .btn-plan becomes viking "Boek nu →" reveal */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card .btn-plan{
  grid-area:cta; justify-self:start; display:inline-flex; align-items:center; gap:0.5rem;
  margin-top:1rem; padding:0; background:transparent; border:none; box-shadow:none;
  font-family:var(--font-barlow); font-size:12px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; color:#C9A461;
  opacity:0; transition:opacity 0.3s;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card.popular .btn-plan{
  background:transparent; color:#C9A461; border:none;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:hover .btn-plan{
  opacity:1; background:transparent; color:#C9A461; box-shadow:none;
}

/* bottom hover gold line (viking .vk-svc-line) */
.sf-viking [data-sf-block="sf-pricing"] .pricing-card::after{
  content:''; position:absolute; bottom:0; left:1.5rem; right:1.5rem; height:1px;
  background:linear-gradient(to right,transparent,#C9A461,transparent);
  opacity:0; transition:opacity 0.3s;
}
.sf-viking [data-sf-block="sf-pricing"] .pricing-card:hover::after{ opacity:1; }


/* ============================================================================
   cuts-viking  ->  sf-outing
   ============================================================================ */
/* ===== VIKING reskin for sf-outing (cuts gallery). Scope: body.sf-viking ===== */
/* Section shell + dark gradient bg + viking section padding */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-section{background:linear-gradient(180deg,#070707 0%,#0A0906 50%,#070707 100%);padding:7rem 1.5rem;position:relative;overflow:hidden;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-inner{max-width:72rem;margin:0 auto;position:relative;z-index:10;}

/* Decorative giant background word "CUTS" (>=1024px only, 0.02 gold) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-section::before{content:"CUTS";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);font-family:var(--font-anton);font-size:18vw;color:rgba(201,164,97,0.02);line-height:1;pointer-events:none;user-select:none;display:none;z-index:0;}
@media(min-width:1024px){.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-section::before{display:block;}}

/* Header: badge+heading stacked left, subtext bottom-right (grid mimics viking flex justify-between/align-flex-end) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:1.5rem;margin:0 0 4rem;text-align:left;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-badge{grid-column:1;grid-row:1;display:block;font-family:var(--font-barlow);font-size:11px;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold-dim);font-weight:600;margin:0 0 1rem;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title h2{grid-column:1;grid-row:2;font-family:var(--font-anton);font-size:clamp(2.5rem,7vw,4.5rem);color:var(--cream);line-height:1;margin:0;letter-spacing:normal;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title h2 .sf-heading-accent{display:block;background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title p{grid-column:2;grid-row:2;font-family:var(--font-cormorant);font-size:1.125rem;color:#5A5550;font-style:italic;max-width:18rem;margin:0;align-self:end;}
@media(max-width:768px){.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title{grid-template-columns:1fr;}.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .section-title p{grid-column:1;grid-row:3;margin-top:1rem;}}

/* Bento grid — override block style.css (2-col 320px) with viking 3-col bento */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:200px;gap:0.75rem;}
@media(min-width:1024px){
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,260px);grid-auto-rows:unset;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(1){grid-column:1/3;grid-row:1/3;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(2){grid-column:3;grid-row:1;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(3){grid-column:3;grid-row:2;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(4){grid-column:1;grid-row:3;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(5){grid-column:2;grid-row:3;}
 .sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:nth-child(6){grid-column:3;grid-row:3;}
}
/* Tile chrome: gold hairline border, 1rem radius, img top-anchored, slow zoom (override block's 0.5s/1.04) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item{border-radius:1rem;border:1px solid rgba(201,164,97,0.08);position:relative;overflow:hidden;background:transparent;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item img,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item video{object-position:top;transition:transform 0.7s ease;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover img,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover video{transform:scale(1.05);}

/* Hover meta block (additive markup, gated on caption) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-tile-meta{position:absolute;inset:0;pointer-events:none;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,7,0.85),rgba(7,7,7,0.15) 50%,transparent);opacity:0;transition:opacity 0.5s;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover .sf-outing-overlay{opacity:1;}
/* corner brackets (TL/TR), each = two 1px gold lines (use inner spans .v/.h or borders) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-corner-tl,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-corner-tr{position:absolute;top:12px;width:20px;height:20px;opacity:0;transition:opacity 0.3s;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-corner-tl{left:12px;border-top:1px solid #C9A461;border-left:1px solid #C9A461;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-corner-tr{right:12px;border-top:1px solid #C9A461;border-right:1px solid #C9A461;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover .sf-outing-corner-tl,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover .sf-outing-corner-tr{opacity:1;}
/* label slide-up */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-tile-label{position:absolute;bottom:0;left:0;right:0;padding:1rem;transform:translateY(12px);opacity:0;transition:all 0.5s;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .outing-item:hover .sf-outing-tile-label{opacity:1;transform:translateY(0);}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-tile-title{font-family:var(--font-anton);font-size:1.25rem;color:var(--cream);letter-spacing:0.05em;line-height:1.2;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-tile-byline{font-family:var(--font-barlow);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#C9A461;font-weight:600;margin-top:2px;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-tile-byline::before{content:"door ";}

/* CTA footer (additive markup, gated on cta_text) */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-cta{margin-top:3rem;text-align:center;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-cta p{font-family:var(--font-cormorant);font-size:1.5rem;color:#5A5550;font-style:italic;margin:0 0 1.5rem;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;border-radius:0.75rem;font-size:14px;letter-spacing:0.15em;background:linear-gradient(135deg,#C9A461 0%,#F2C456 50%,#C9A461 100%);background-size:200% 100%;background-position:left;color:#070707;font-family:var(--font-barlow);font-weight:700;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background-position 0.4s ease,transform 0.2s ease,box-shadow 0.3s ease;}
.sf-viking [data-sf-block="sf-outing"][data-sf-index="6"] .sf-outing-cta-btn:hover{background-position:right;transform:translateY(-2px);box-shadow:0 8px 32px rgba(201,164,97,0.35);}


/* ============================================================================
   shop-viking  ->  sf-outing
   ============================================================================ */
/* Scope: viking body wrapper .sf-viking + the migrated block's data attr.
   IMPORTANT: the migrated page-block slug MUST be "sf-outing" so both the library
   style.css ([data-sf-block="sf-outing"][data-sf-index="7"]) and this reskin bind. */

/* section becomes full-bleed dark canvas */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-section{ background:#070707; position:relative; overflow:hidden; padding:0; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-inner{ position:relative; max-width:none; width:100%; margin:0; padding:0; }

/* 4-video grid as background layer */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:auto; grid-auto-rows:auto; gap:0; z-index:1; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item{ position:relative; aspect-ratio:9/16; height:auto; border-radius:0; overflow:hidden; background:#0a0a0a; pointer-events:none; opacity:1; transform:none; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item video,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item img{ width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item:hover video,
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item:hover img{ transform:none; } /* viking tiles do NOT scale on hover */
/* per-tile radial vignette */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item::after{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center,transparent 50%,rgba(7,7,7,0.45) 100%); }
/* top/bottom darkening overlay across whole grid */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid::before{ content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:linear-gradient(to bottom,rgba(7,7,7,0.65) 0%,rgba(7,7,7,0.25) 25%,rgba(7,7,7,0.25) 70%,rgba(7,7,7,0.9) 100%); }
/* gold hairline dividers between the 4 columns */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid::after{ content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:linear-gradient(to right, transparent calc(25% - 0.5px), rgba(201,164,97,0.12) calc(25% - 0.5px), rgba(201,164,97,0.12) calc(25% + 0.5px), transparent calc(25% + 0.5px)),linear-gradient(to right, transparent calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% + 0.5px), transparent calc(50% + 0.5px)),linear-gradient(to right, transparent calc(75% - 0.5px), rgba(201,164,97,0.12) calc(75% - 0.5px), rgba(201,164,97,0.12) calc(75% + 0.5px), transparent calc(75% + 0.5px)); }

/* centered content overlaid on top of the grid */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-title{ position:absolute; inset:0; margin:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2.5rem 1.5rem; pointer-events:none; opacity:1; transform:none; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-title > *{ pointer-events:auto; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-badge{ display:block; margin:0 0 1.25rem; color:#C9A461; letter-spacing:0.4em; font-size:11px; font-weight:700; text-transform:uppercase; font-family:var(--font-barlow); background:none; border:0; padding:0; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-title h2{ font-family:var(--font-anton); font-size:clamp(3rem,9vw,6.5rem); color:var(--cream); line-height:0.95; margin:0 0 1.25rem; letter-spacing:0.02em; text-transform:none; text-shadow:0 4px 30px rgba(0,0,0,0.6); }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-title h2 .outing-heading-accent{ background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .section-title p{ font-family:var(--font-cormorant); font-size:clamp(1rem,1.5vw,1.25rem); font-style:italic; color:#a89c87; max-width:34rem; margin:0 auto 2rem; line-height:1.5; text-shadow:0 2px 12px rgba(0,0,0,0.5); }

/* additive CTA button styled as viking .vk-btn-gold */
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .sf-outing-cta{ text-align:center; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-cta{ display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#C9A461 0%,#F2C456 50%,#C9A461 100%); background-size:200% 100%; background-position:left; color:#070707; font-family:var(--font-barlow); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; padding:1rem 2.25rem; border-radius:0.75rem; font-size:13px; transition:background-position .4s ease, transform .2s ease, box-shadow .3s ease; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-cta::after{ content:' \2192'; }
.sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-cta:hover{ background-position:right; transform:translateY(-2px); box-shadow:0 8px 32px rgba(201,164,97,0.35); }

/* responsive — mirrors viking breakpoints */
@media (max-width:1023px){
  .sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid{ grid-template-columns:repeat(2,1fr); }
  .sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid::after{ background:linear-gradient(to right, transparent calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% + 0.5px), transparent calc(50% + 0.5px)),linear-gradient(to bottom, transparent calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% - 0.5px), rgba(201,164,97,0.12) calc(50% + 0.5px), transparent calc(50% + 0.5px)); }
}
@media (max-width:540px){
  .sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid{ grid-template-columns:1fr; }
  .sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-item{ aspect-ratio:16/9; }
  .sf-viking [data-sf-block="sf-outing"][data-sf-index="7"] .outing-grid::after{ display:none; }
}


/* ============================================================================
   reviews-viking  ->  sf-testimonials
   ============================================================================ */
/* Scope: viking wrapper class .sf-viking (already on body/wrapper) + the block. */

/* ---- palette: override sf-testimonials CSS vars ---- */
.sf-viking [data-sf-block="sf-testimonials"]{
  --sf-testimonials-bg:#070707;
  --sf-star-color:#C9A461;
  --sf-quote-color:#8A8178;
  --sf-name-color:#5A5550;
  --sf-role-color:#3A3530;
  --sf-card-border:rgba(201,164,97,0.12);
}

/* ---- section: full-bleed dark, left aligned ---- */
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-section{
  background:#070707; padding:7rem 0; text-align:left; overflow:hidden;
}

/* ---- header row: heading left, google badge right ---- */
.sf-viking [data-sf-block="sf-testimonials"] .section-title{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:1.5rem; max-width:72rem; margin:0 auto 4rem; padding:0 1.5rem; text-align:left;
}
.sf-viking [data-sf-block="sf-testimonials"] .section-title .st-head{ flex:0 1 auto; }
.sf-viking [data-sf-block="sf-testimonials"] .section-badge{
  display:block; background:none; padding:0; margin:0 0 1rem;
  font-family:var(--font-barlow); font-size:11px; letter-spacing:0.35em;
  text-transform:uppercase; color:#7A6238; font-weight:600;
}
.sf-viking [data-sf-block="sf-testimonials"] .section-title h2{
  font-family:var(--font-anton); font-size:clamp(2.5rem,7vw,4.5rem);
  color:#EDE5D5; line-height:1; margin:0;
}
.sf-viking [data-sf-block="sf-testimonials"] .section-title h2 .heading-accent{
  background:linear-gradient(125deg,#C9A461 0%,#F2C456 45%,#C9A461 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.sf-viking [data-sf-block="sf-testimonials"] .section-title p{ display:none; } /* no subtext in viking */

/* ---- google rating badge (additive markup, gated) ---- */
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge{
  display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; border-radius:1rem;
  border:1px solid rgba(201,164,97,0.15); background:rgba(201,164,97,0.03);
}
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-col{ text-align:center; }
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-score{
  font-family:var(--font-anton); font-size:2.5rem; line-height:1;
  background:linear-gradient(125deg,#C9A461,#F2C456,#C9A461);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-stars{ color:#C9A461; letter-spacing:2px; font-size:0.8rem; margin:4px 0; }
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-caption,
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-count-caption{
  font-family:var(--font-barlow); font-size:12px; color:#5A5550;
}
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-count-caption{ margin-top:4px; }
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-count{
  font-family:var(--font-anton); font-size:2.5rem; line-height:1; color:#EDE5D5;
}
.sf-viking [data-sf-block="sf-testimonials"] .rating-badge .rb-divider{ width:1px; height:48px; background:rgba(201,164,97,0.1); }

/* ---- marquee rows (additive layout=marquee) ---- */
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee{ position:relative; overflow:hidden; }
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee .t-row{ display:flex; gap:1rem; width:max-content; }
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee .t-row-1{ animation:vkMarquee 50s linear infinite; }
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee .t-row-2{ animation:vkMarquee 60s linear infinite reverse; animation-delay:-20s; margin-top:1rem; }
/* @keyframes vkMarquee {0%{transform:translateX(0)}100%{transform:translateX(-50%)}} is already defined globally in viking.css (l.113) */
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee::before,
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee::after{
  content:''; position:absolute; top:0; bottom:0; width:5rem; z-index:10; pointer-events:none;
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee::before{ left:0; background:linear-gradient(to right,#070707,transparent); }
.sf-viking [data-sf-block="sf-testimonials"] .testimonials-marquee::after{ right:0; background:linear-gradient(to left,#070707,transparent); }

/* ---- card ---- */
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card{
  position:relative; width:300px; flex:0 0 auto; padding:1.25rem; border-radius:1rem;
  border:1px solid rgba(201,164,97,0.12);
  background:linear-gradient(135deg,rgba(22,22,22,0.9),rgba(15,15,15,0.9));
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card:hover{ /* kill sf red hover */
  transform:none; box-shadow:none; border-color:rgba(201,164,97,0.12);
}
.sf-viking [data-sf-block="sf-testimonials"] .stars{ color:#C9A461; font-size:14px; letter-spacing:2px; margin-bottom:0.75rem; }
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card p{
  font-family:var(--font-cormorant); font-size:1rem; color:#8A8178; line-height:1.6;
  font-style:italic; margin:0 0 1rem;
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card p::before{ content:'\0022'; }
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card p::after{ content:'\0022'; }

/* date: viking shows it top-right (with stars row). Reposition .role out of flow. */
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-card .role{
  position:absolute; top:1.25rem; right:1.25rem; margin:0;
  font-family:var(--font-barlow); font-size:12px; color:#3A3530;
}

/* author row: avatar + name (left), service (right), no divider */
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author{
  margin-top:0; padding-top:0; border-top:none; gap:0.5rem; align-items:center;
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .avatar,
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .avatar.a-1,
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .avatar.a-2,
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .avatar.a-3{
  width:28px; height:28px; font-size:11px; font-weight:700; color:#070707;
  font-family:var(--font-barlow); background:linear-gradient(135deg,#C9A461,#F2C456);
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .name{
  font-family:var(--font-barlow); font-size:12px; font-weight:600; color:#5A5550;
}
.sf-viking [data-sf-block="sf-testimonials"] .testimonial-author .author-company{
  margin-left:auto; font-family:var(--font-barlow); font-size:10px; color:#3A3530;
}

/* ── Post-migration pixel-fixes (live-render verified) ───────────────────── */
/* sf-hero: the additive crossfade video (video_url_2) renders position:static
   by default and adds page-flow height (hero became ~1665px). Pin it like the
   primary video so the hero is one viewport tall. */
.sf-viking [data-sf-block="sf-hero"] .vk-hero-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
/* sf-hero: viking's headline is line1 + accent only — hide the unused middle
   <em> (title_em) so the generic default word never shows. */
.sf-viking [data-sf-block="sf-hero"] h1 em{ display:none; }
/* sf-pricing: viking's services section has no sub-line; hide the generic
   library default subtitle. */
.sf-viking [data-sf-block="sf-pricing"] .sub{ display:none; }

/* ── Merk-accent: overschrijf blueprint-block-defaults (salesfision-rood #e63946) → Viking-goud, site-breed ── */
.sf-viking [data-sf-block="sf-cta"]{--sf-cta-accent:#C9A461;--sf-cta-glow:rgba(201,164,97,.12);--sf-cta-glow-soft:rgba(201,164,97,.06);--sf-cta-glow-hover:rgba(201,164,97,.22);--sf-cta-glow-hover-soft:rgba(201,164,97,.1);--sf-cta-border:rgba(201,164,97,.35);--sf-cta-border-hover:rgba(201,164,97,.65);}
.sf-viking [data-sf-block="sf-blog-posts"]{--sf-blog-accent:#C9A461;}
.sf-viking [data-sf-block="sf-cases-grid"]{--sf-cases-accent:#C9A461;}
.sf-viking [data-sf-block="sf-contact-details"]{--sf-contact-accent:#C9A461;}
.sf-viking [data-sf-block="sf-faq"]{--sf-faq-accent:#C9A461;}
.sf-viking [data-sf-block="sf-feature-grid"]{--sf-highlight:#C9A461;}
.sf-viking [data-sf-block="sf-hero"]{--sf-hero-red:#C9A461;}
.sf-viking [data-sf-block="sf-pricing"]{--sf-pricing-accent:#C9A461;}
.sf-viking [data-sf-block="sf-service-teaser"]{--sf-st-accent:#C9A461;}
.sf-viking [data-sf-block="sf-stats"]{--sf-stats-accent:#C9A461;}
.sf-viking [data-sf-block="sf-team"]{--sf-team-accent:#C9A461;}
.sf-viking [data-sf-block="sf-testimonials"]{--sf-accent:#C9A461;}
.sf-viking [data-sf-block="sf-timeline"]{--sf-timeline-accent:#C9A461;}
.sf-viking [data-sf-block="sf-values"]{--sf-values-accent:#C9A461;--sf-values-glow:rgba(201,164,97,.12);}
.sf-viking [data-sf-block="sf-vision"]{--sf-vision-accent:#C9A461;}
