/* ==========================================================
   Scandic Services & Tours
   Colors and sizes come from CSS variables set by the
   Section Settings pages (see ssc_vars() in the plugin).
   ========================================================== */

.ssc-wrap{background:var(--ssc-bg); padding:var(--ssc-pad) 0}
.ssc,.ssc-container{max-width:var(--ssc-maxw,1240px); margin:0 auto; padding:0 20px; box-sizing:border-box}
.ssc-container--narrow{max-width:560px}
.ssc *,.ssc *::before,.ssc *::after,
.ssc-single *,.ssc-single *::before,.ssc-single *::after{box-sizing:border-box}

/* ---------- Section head ---------- */
.ssc-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px 48px; flex-wrap:wrap; margin-bottom:40px}
.ssc-head-main{max-width:640px}
.ssc-head-side{display:flex; flex-direction:column; align-items:flex-start; gap:16px; max-width:400px}
.ssc-eyebrow{margin:0 0 12px; color:var(--ssc-eyebrow); font-size:14px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; line-height:1.3}
.ssc-head .ssc-title{margin:0; color:var(--ssc-title-c); font-size:clamp(28px,3.4vw,var(--ssc-title-size)); font-weight:600; line-height:1.15; letter-spacing:-.01em}
.ssc-sub{margin:12px 0 0; color:var(--ssc-text); font-size:16px; line-height:1.6}
.ssc-sub--side{margin:0}
.ssc-viewall{display:inline-flex; align-items:center; gap:8px; color:var(--ssc-title-c)!important; font-size:15px; font-weight:500; text-decoration:underline; text-underline-offset:4px}
.ssc-viewall svg,.ssc-link svg{width:16px; height:16px; flex-shrink:0; transition:transform .2s}
.ssc-viewall:hover svg,.ssc-link:hover svg{transform:translateX(3px)}

/* ---------- Grid ---------- */
.ssc-grid{display:grid; grid-template-columns:repeat(var(--ssc-cols-d),minmax(0,1fr)); gap:var(--ssc-gap)}

/* ---------- Card (shared) ---------- */
.ssc-card{display:flex; flex-direction:column; background:var(--ssc-card); border:1px solid var(--ssc-border); border-radius:var(--ssc-radius); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease}
.ssc-card:hover{transform:translateY(-3px); box-shadow:0 14px 32px rgba(19,41,61,.08)}
.ssc-card-media{position:relative; display:block; height:var(--ssc-img-h); overflow:hidden; background:#e7e2d6}
.ssc-card-media .ssc-img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease}
.ssc-card:hover .ssc-img{transform:scale(1.04)}
.ssc-img--empty{display:block; width:100%; height:100%; background:#e7e2d6}
.ssc-card-body{display:flex; flex-direction:column; flex-grow:1; padding:32px 28px 36px}
.ssc-card .ssc-card-title{margin:0 0 14px; color:var(--ssc-title-c); font-size:var(--ssc-card-title); font-weight:600; line-height:1.3; letter-spacing:-.005em}
.ssc-card .ssc-card-title a{color:inherit!important; text-decoration:none}
.ssc-card .ssc-card-title a:hover{text-decoration:underline; text-underline-offset:3px}
.ssc-card-text{margin:0 0 24px; color:var(--ssc-text); font-size:16px; line-height:1.65}

/* Service card link */
.ssc-link{margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:10px; color:var(--ssc-accent)!important; font-size:16px; font-weight:500; text-decoration:underline; text-underline-offset:4px}

/* ---------- Tour card ---------- */
.ssc-card--tour .ssc-card-body{align-items:center; text-align:center; padding:22px 28px 28px}
.ssc-card--tour .ssc-card-title{margin-bottom:10px}
.ssc-card--tour .ssc-card-text{max-width:460px; margin-bottom:16px; font-size:14px; line-height:1.6}
.ssc-card--tour.ssc-card--left .ssc-card-body{align-items:flex-start; text-align:left}
.ssc-card--tour .ssc-btn{margin-top:auto}

.ssc-pill{display:inline-block; padding:6px 12px; border-radius:999px; background:var(--ssc-badge-bg); color:var(--ssc-badge-text); font-size:12px; font-weight:500; line-height:1.2}
.ssc-card-media .ssc-pill{position:absolute; top:14px; left:14px; z-index:1; box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* ---------- Button ---------- */
.ssc-btn{display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 28px; border:0; border-radius:999px; background:var(--ssc-accent); color:var(--ssc-accent-text)!important; font-size:14px; font-weight:600; line-height:1.2; text-decoration:none!important; transition:filter .2s, transform .2s}
.ssc-btn:hover{filter:brightness(1.25)}
.ssc-btn:focus-visible,.ssc-link:focus-visible,.ssc-viewall:focus-visible,.ssc-card-title a:focus-visible{outline:2px solid var(--ssc-eyebrow); outline-offset:3px}
.ssc-btn--block{display:flex; width:100%; min-height:48px; font-size:15px}

/* ==========================================================
   Single pages
   ========================================================== */
.ssc-single{padding-top:40px}
.ssc-breadcrumb{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; font-size:14px; color:var(--ssc-text)}
.ssc-breadcrumb a{color:var(--ssc-title-c)!important; text-decoration:underline; text-underline-offset:3px}
.ssc-single-head{max-width:820px; margin-bottom:32px}
.ssc-single-head .ssc-pill{margin-bottom:16px; border:1px solid rgba(19,41,61,.12)}
.ssc-single .ssc-single-title{margin:0 0 16px; color:var(--ssc-title-c); font-size:clamp(32px,4.4vw,52px); font-weight:600; line-height:1.1; letter-spacing:-.015em}
.ssc-single-lead{margin:0; color:var(--ssc-text); font-size:18px; line-height:1.6}
.ssc-single-hero{margin:0 0 48px; border-radius:var(--ssc-radius); overflow:hidden; aspect-ratio:16/7; background:#e7e2d6}
.ssc-single-hero .ssc-hero-img{width:100%; height:100%; object-fit:cover; display:block}

.ssc-single-body{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; align-items:start; padding-bottom:72px}
.ssc-content{color:#2f3437; font-size:17px; line-height:1.75}
.ssc-content > :first-child{margin-top:0}
.ssc-content h2,.ssc-content h3,.ssc-content h4{color:var(--ssc-title-c); line-height:1.25; margin:1.6em 0 .6em}
.ssc-content img{max-width:100%; height:auto; border-radius:12px}
.ssc-content a{color:var(--ssc-accent); text-decoration:underline; text-underline-offset:3px}

.ssc-sidebar{position:sticky; top:32px}
.admin-bar .ssc-sidebar{top:64px}
.ssc-side-card{background:var(--ssc-card); border:1px solid var(--ssc-border); border-radius:var(--ssc-radius); padding:28px; box-shadow:0 1px 0 rgba(19,41,61,.04)}
.ssc-single--tour .ssc-side-card{border-color:rgba(19,41,61,.08)}
.ssc-side-card .ssc-side-title{margin:0 0 14px; color:var(--ssc-title-c); font-size:18px; font-weight:600; line-height:1.3}
.ssc-side-text{margin:0 0 20px; color:var(--ssc-text); font-size:15px; line-height:1.6}
.ssc-details{margin:0 0 24px}
.ssc-details div{display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(19,41,61,.1)}
.ssc-details div:first-child{padding-top:0}
.ssc-details dt{margin:0; color:var(--ssc-text); font-size:14px}
.ssc-details dd{margin:0; color:var(--ssc-title-c); font-size:14px; font-weight:500; text-align:right}
.ssc-side-note{margin:14px 0 0; color:var(--ssc-text); font-size:13px; text-align:center}

/* Enquiry form area */
.ssc-enquire{background:var(--ssc-alt); padding:72px 0; scroll-margin-top:24px}
.ssc-enquire-head{text-align:center; margin-bottom:32px}
.ssc-single .ssc-section-title{margin:0; color:var(--ssc-title-c); font-size:clamp(26px,3vw,36px); font-weight:600; line-height:1.2}

/* Related */
.ssc-related{padding:72px 0 88px}
.ssc-related .ssc-section-title{margin-bottom:32px}

/* ==========================================================
   Archive pages
   ========================================================== */
.ssc-archive{padding:64px 0 88px}
.ssc-pagination{margin-top:48px}
.ssc-pagination .nav-links{display:flex; flex-wrap:wrap; justify-content:center; gap:8px}
.ssc-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border:1px solid rgba(19,41,61,.15); border-radius:999px; color:var(--ssc-title-c)!important; font-size:15px; text-decoration:none!important}
.ssc-pagination .page-numbers.current,.ssc-pagination a.page-numbers:hover{background:var(--ssc-accent); border-color:var(--ssc-accent); color:var(--ssc-accent-text)!important}
.ssc-pagination .screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width:1024px){
	.ssc-grid{grid-template-columns:repeat(var(--ssc-cols-t),minmax(0,1fr))}
}
@media (max-width:900px){
	.ssc-single-body{grid-template-columns:1fr; gap:32px}
	.ssc-sidebar{position:static}
	.ssc-single-hero{aspect-ratio:16/10; margin-bottom:32px}
}
@media (max-width:640px){
	.ssc-grid{grid-template-columns:1fr}
	.ssc-head{margin-bottom:28px}
	.ssc-card-body{padding:24px 22px 28px}
	.ssc-card--tour .ssc-card-body{padding:20px 20px 24px}
	.ssc-enquire,.ssc-related{padding:56px 0}
	.ssc-archive{padding:48px 0 64px}
}
@media (prefers-reduced-motion:reduce){
	.ssc-card,.ssc-img,.ssc-btn,.ssc-link svg,.ssc-viewall svg{transition:none!important}
	.ssc-card:hover{transform:none}
	.ssc-card:hover .ssc-img{transform:none}
}
