/*
Theme Name: PhotoBrust Child - Jakt i Sverige
Theme URI: https://jaktisverige.se
Description: Child theme for PhotoBrust. Holds the custom Jakt i Sverige front page design. Files here are NEVER overwritten when the parent PhotoBrust theme updates.
Author: Jakt i Sverige
Template: photobrust
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: photobrust-child
*/

/* ===== JAKT I SVERIGE - FRONT PAGE ===== */

.jis *, .jis *::before, .jis *::after { box-sizing:border-box; margin:0; padding:0; }
.jis { font-family:'Segoe UI',Arial,sans-serif; color:#1a1a1a; background:#fff; -webkit-font-smoothing:antialiased; }
.jis a { text-decoration:none; }
.jis img { display:block; max-width:100%; }

/* NAV */
.jis-nav { position:fixed; top:32px; left:0; right:0; z-index:1000; padding:0 2rem; height:70px; display:flex; align-items:center; justify-content:space-between; background:rgba(15,40,15,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.06); }
.jis-nav-logo { display:flex; align-items:center; gap:.75rem; }
.jis-nav-logo img { height:44px; width:44px; object-fit:contain; filter:brightness(0) invert(1); }
.jis-nav-logo span { font-size:1.1rem; font-weight:700; color:#fff; line-height:1.2; }
.jis-nav-logo small { display:block; font-size:.65rem; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.jis-nav-links { display:flex; align-items:center; gap:2rem; list-style:none; }
.jis-nav-links a { color:rgba(255,255,255,.75); font-size:.85rem; font-weight:500; transition:color .2s; }
.jis-nav-links a:hover { color:#fff; }
.jis-nav-cta { background:#2a7d2a; color:#fff !important; padding:.55rem 1.25rem; border-radius:4px; font-weight:700 !important; }
.jis-nav-cta:hover { background:#1e5c1e !important; }

/* HAMBURGER */
.jis-hamburger { display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:42px; height:42px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:6px; cursor:pointer; padding:0; z-index:1100; flex-shrink:0; }
.jis-hamburger span { display:block; width:20px; height:2px; background:#fff; border-radius:2px; transition:all .28s ease; }
.jis-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.jis-hamburger.open span:nth-child(2) { opacity:0; }
.jis-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* DRAWER */
.jis-drawer { display:none; position:fixed; inset:0; z-index:997; background:rgba(8,22,8,.98); flex-direction:column; justify-content:center; padding:5rem 2rem 3rem; overflow-y:auto; }
.jis-drawer.open { display:flex; }
.jis-drawer-links { list-style:none; }
.jis-drawer-links li a { display:block; font-size:2rem; font-weight:800; color:rgba(255,255,255,.6); padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.07); transition:color .2s; }
.jis-drawer-links li a:hover { color:#fff; }
.jis-drawer-cta { margin-top:2rem; display:block; text-align:center; background:#2a7d2a; color:#fff; border-radius:8px; padding:1.1rem 2rem; font-weight:800; text-transform:uppercase; }
.jis-drawer-contact { margin-top:1.5rem; text-align:center; }
.jis-drawer-contact a { display:block; color:rgba(255,255,255,.5); font-size:.95rem; padding:.4rem 0; }

/* FLOATING CALL BUTTON */
.jis-fab { display:none; position:fixed; bottom:1.5rem; right:1.25rem; z-index:990; background:#2a7d2a; color:#fff; border-radius:100px; padding:.85rem 1.4rem; font-size:.85rem; font-weight:800; text-transform:uppercase; box-shadow:0 6px 24px rgba(42,125,42,.55); align-items:center; gap:.5rem; transition:opacity .3s; }
.jis-fab svg { width:18px; height:18px; fill:currentColor; }

/* HERO */
.jis-hero { position:relative; height:100vh; min-height:600px; display:flex; align-items:flex-end; overflow:hidden; }
.jis-hero-bg { position:absolute; inset:0; background:url('https://jaktisverige.se/wp-content/uploads/Backgroung_jakisverige_compress.jpeg') center/cover no-repeat; transform:scale(1.03); }
.jis-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(5,20,5,.55),rgba(5,20,5,.3) 40%,rgba(5,20,5,.88)); }
.jis-hero-content { position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto; padding:0 2rem 5rem; }
.jis-hero-logo { display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.jis-hero-logo img { height:72px; width:72px; object-fit:contain; }
.jis-hero-tag { display:inline-flex; align-items:center; gap:.5rem; border:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.85); padding:.35rem 1rem; border-radius:2rem; font-size:.75rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin-bottom:1.25rem; }
.jis-hero-h1 { font-size:clamp(2.6rem,6vw,5rem); color:#fff; font-weight:800; line-height:1.06; margin-bottom:1.2rem; max-width:750px; }
.jis-hero-h1 em { font-style:normal; color:#69c069; }
.jis-hero-sub { font-size:clamp(.98rem,1.8vw,1.15rem); color:rgba(255,255,255,.78); line-height:1.7; max-width:520px; margin-bottom:2.25rem; }
.jis-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem; }
.jis-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 2rem; border-radius:5px; font-weight:700; font-size:.88rem; text-transform:uppercase; transition:all .22s ease; border:2px solid transparent; }
.jis-btn-green { background:#2a7d2a; color:#fff; border-color:#2a7d2a; }
.jis-btn-green:hover { background:#1e6b1e; color:#fff; transform:translateY(-2px); }
.jis-btn-outline-w { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.jis-btn-outline-w:hover { background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }
.jis-hero-stats { display:flex; gap:2.5rem; flex-wrap:wrap; padding-top:2rem; border-top:1px solid rgba(255,255,255,.15); }
.jis-stat strong { display:block; font-size:1.9rem; font-weight:800; color:#69c069; line-height:1; }
.jis-stat span { font-size:.72rem; color:rgba(255,255,255,.5); letter-spacing:.12em; text-transform:uppercase; }

/* SECTION BASE */
.jis-section { padding:6rem 0; }
.jis-container { max-width:1160px; margin:0 auto; padding:0 2rem; }
.jis-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#2a7d2a; margin-bottom:.6rem; }
.jis-rule { width:48px; height:3px; background:#2a7d2a; margin-bottom:1.25rem; border-radius:2px; }
.jis-rule-c { width:48px; height:3px; background:#2a7d2a; margin:0 auto 1.25rem; border-radius:2px; }
.jis-h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:800; line-height:1.15; color:#0f280f; }
.jis-lead { font-size:1.05rem; line-height:1.75; color:#555; max-width:600px; margin-top:.75rem; }

/* SERVICES */
.jis-services-bg { background:#f5f9f5; }
.jis-services-hd { text-align:center; margin-bottom:3.5rem; }
.jis-services-hd .jis-lead { margin:.75rem auto 0; text-align:center; }
.jis-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.jis-card { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 20px rgba(0,0,0,.06); transition:transform .3s,box-shadow .3s; display:flex; flex-direction:column; }
.jis-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(0,0,0,.12); }
.jis-card-img { height:220px; overflow:hidden; position:relative; background:#1a4a1a; }
.jis-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.jis-card:hover .jis-card-img img { transform:scale(1.06); }
.jis-card-badge { position:absolute; top:1rem; left:1rem; background:#2a7d2a; color:#fff; font-size:.7rem; font-weight:700; text-transform:uppercase; padding:.3rem .8rem; border-radius:2rem; }
.jis-card-body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.jis-card-body h3 { font-size:1.3rem; font-weight:800; color:#0f280f; margin-bottom:.75rem; }
.jis-card-body p { font-size:.92rem; line-height:1.7; color:#5a5a5a; flex:1; margin-bottom:1.5rem; }
.jis-card-link { display:inline-flex; align-items:center; gap:.3rem; font-size:.82rem; font-weight:700; text-transform:uppercase; color:#2a7d2a; transition:gap .2s; margin-top:auto; }
.jis-card-link:hover { gap:.6rem; }

/* ABOUT */
.jis-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.jis-about-img-block { position:relative; }
.jis-about-img-frame { border-radius:10px; overflow:hidden; aspect-ratio:3/4; box-shadow:0 24px 64px rgba(0,0,0,.18); }
.jis-about-img-frame img { width:100%; height:100%; object-fit:cover; }
.jis-about-pill { position:absolute; bottom:-1.5rem; right:-1.5rem; background:#2a7d2a; color:#fff; border-radius:10px; padding:1.5rem 1.75rem; text-align:center; }
.jis-about-pill strong { display:block; font-size:2.2rem; font-weight:800; line-height:1; }
.jis-about-pill span { font-size:.72rem; text-transform:uppercase; opacity:.85; }
.jis-about-text p { font-size:1rem; line-height:1.8; color:#555; margin-bottom:1.25rem; }
.jis-quote { border-left:4px solid #2a7d2a; padding:1rem 1.5rem; background:#f5f9f5; border-radius:0 6px 6px 0; margin:1.75rem 0; }
.jis-quote p { font-style:italic; color:#333 !important; margin:0 0 .4rem !important; }
.jis-quote cite { font-style:normal; font-size:.75rem; font-weight:700; text-transform:uppercase; color:#2a7d2a; }

/* AREAS */
.jis-areas-bg { background:#0f280f; }
.jis-areas-hd { text-align:center; margin-bottom:3.5rem; }
.jis-areas-hd .jis-eyebrow { color:#69c069; }
.jis-areas-hd .jis-h2 { color:#fff; }
.jis-areas-hd .jis-lead { color:rgba(255,255,255,.65); margin:.75rem auto 0; text-align:center; }
.jis-areas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.jis-area-card { border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:2rem; background:rgba(255,255,255,.04); transition:border-color .25s,background .25s; }
.jis-area-card:hover { border-color:#69c069; background:rgba(105,192,105,.07); }
.jis-area-city { display:flex; align-items:center; gap:.6rem; font-size:1.25rem; font-weight:800; color:#fff; margin-bottom:.75rem; padding-bottom:.75rem; border-bottom:1px solid rgba(255,255,255,.1); }
.jis-area-city-dot { width:8px; height:8px; border-radius:50%; background:#69c069; flex-shrink:0; }
.jis-area-desc { font-size:.88rem; line-height:1.65; color:rgba(255,255,255,.55); margin-bottom:1.25rem; }
.jis-tags { display:flex; flex-wrap:wrap; gap:.5rem; }
.jis-tag { font-size:.72rem; font-weight:700; text-transform:uppercase; padding:.3rem .75rem; border-radius:2rem; background:rgba(105,192,105,.12); color:#69c069; border:1px solid rgba(105,192,105,.25); }
.jis-region-banner { margin-top:2.5rem; background:rgba(105,192,105,.08); border:1px solid rgba(105,192,105,.2); border-radius:8px; padding:1.25rem 1.75rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; color:rgba(255,255,255,.6); font-size:.9rem; }
.jis-region-banner strong { color:#fff; }
.jis-region-banner a { color:#69c069; font-weight:700; margin-left:.3rem; }

/* CTA */
.jis-cta-section { position:relative; background:#2a7d2a; overflow:hidden; padding:5.5rem 0; text-align:center; }
.jis-cta-section::before { content:''; position:absolute; inset:0; background:url('https://jaktisverige.se/wp-content/uploads/reddeerjpg.jpg') center 30%/cover no-repeat; opacity:.12; }
.jis-cta-inner { position:relative; z-index:1; }
.jis-cta-logo { width:72px; height:72px; margin:0 auto 1.5rem; opacity:.35; }
.jis-cta-inner .jis-eyebrow { color:rgba(255,255,255,.65); }
.jis-cta-inner .jis-h2 { color:#fff; margin-bottom:1rem; }
.jis-cta-inner .jis-lead { color:rgba(255,255,255,.8); margin:0 auto 2.5rem; text-align:center; }
.jis-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.jis-btn-white { background:#fff; color:#2a7d2a; border:2px solid #fff; }
.jis-btn-white:hover { background:transparent; color:#fff; }
.jis-btn-outline-green-w { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); }
.jis-btn-outline-green-w:hover { background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }

/* CONTACT */
.jis-contact-bg { background:#f5f9f5; }
.jis-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; }
.jis-contact-left p { font-size:1rem; line-height:1.75; color:#555; margin:1rem 0 2rem; }
.jis-contact-items { display:flex; flex-direction:column; gap:1rem; }
.jis-citem { display:flex; align-items:flex-start; gap:1rem; background:#fff; border-radius:8px; padding:1.25rem 1.5rem; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:transform .2s; }
.jis-citem:hover { transform:translateY(-2px); }
.jis-citem-icon { width:44px; height:44px; background:#2a7d2a; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; font-weight:700; }
.jis-citem-info strong { display:block; font-size:.7rem; font-weight:700; text-transform:uppercase; color:#999; margin-bottom:.2rem; }
.jis-citem-info a { font-size:1.05rem; font-weight:700; color:#0f280f; }
.jis-citem-info a:hover { color:#2a7d2a; }
.jis-citem-info span { display:block; font-size:.82rem; color:#888; margin-top:.15rem; }
.jis-contact-box { background:#0f280f; border-radius:12px; padding:2.75rem 2.25rem; color:#fff; }
.jis-contact-box-logo { display:flex; align-items:center; gap:.75rem; margin-bottom:1.75rem; padding-bottom:1.75rem; border-bottom:1px solid rgba(255,255,255,.1); }
.jis-contact-box-logo img { height:48px; width:48px; object-fit:contain; filter:brightness(0) invert(1); }
.jis-contact-box-logo span { font-size:1rem; font-weight:700; color:#fff; }
.jis-contact-box h3 { font-size:1.45rem; font-weight:800; margin-bottom:.5rem; color:#fff; }
.jis-contact-box p { font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.65; margin-bottom:1.75rem; }
.jis-mailto { display:block; text-align:center; background:#2a7d2a; color:#fff; padding:1rem 1.5rem; border-radius:6px; font-weight:700; font-size:.88rem; text-transform:uppercase; margin-bottom:.75rem; transition:transform .2s; }
.jis-mailto:hover { background:#1e6b1e; color:#fff; transform:translateY(-2px); }
.jis-tel-link { display:block; text-align:center; border:1px solid rgba(255,255,255,.18); color:#fff; padding:1rem 1.5rem; border-radius:6px; font-weight:700; font-size:.88rem; text-transform:uppercase; }
.jis-tel-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.jis-contact-note { margin-top:1.25rem; font-size:.78rem; color:rgba(255,255,255,.35); text-align:center; }

/* FOOTER */
.jis-footer { background:#060f06; color:#fff; padding:4rem 0 2rem; }
.jis-footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3.5rem; padding-bottom:3rem; margin-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.07); }
.jis-footer-brand { display:flex; flex-direction:column; gap:1.25rem; }
.jis-footer-brand-logo { display:flex; align-items:center; gap:.75rem; }
.jis-footer-brand-logo img { height:56px; width:56px; object-fit:contain; }
.jis-footer-brand-logo div strong { display:block; font-size:1rem; font-weight:700; color:#fff; }
.jis-footer-brand-logo div span { font-size:.7rem; color:rgba(255,255,255,.4); text-transform:uppercase; }
.jis-footer-brand p { font-size:.85rem; line-height:1.7; color:rgba(255,255,255,.4); max-width:300px; }
.jis-footer-col h4 { font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#69c069; margin-bottom:1.1rem; }
.jis-footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.jis-footer-col ul li a { font-size:.85rem; color:rgba(255,255,255,.45); }
.jis-footer-col ul li a:hover { color:#fff; }
.jis-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.jis-footer-copy { font-size:.78rem; color:rgba(255,255,255,.25); }

/* ===== MOBILE <=768px ===== */
@media (max-width:768px) {
  .jis-nav { top:0; padding:0 1rem; height:62px; background:rgba(10,28,10,.97); }
  .jis-nav-links { display:none; }
  .jis-hamburger { display:flex; }
  .jis-nav-logo img { height:38px; width:38px; }
  .jis-nav-logo span { font-size:.9rem; }
  .jis-nav-logo small { display:none; }
  .jis-fab { display:flex; }
  .jis-hero { height:100svh; min-height:580px; }
  .jis-hero-bg { transform:none !important; }
  .jis-hero-content { padding:0 1.25rem 5.5rem; }
  .jis-hero-logo { margin-bottom:.75rem; }
  .jis-hero-logo img { height:48px; width:48px; }
  .jis-hero-tag { font-size:.65rem; padding:.28rem .75rem; margin-bottom:.9rem; }
  .jis-hero-h1 { font-size:clamp(2rem,9.5vw,2.8rem); margin-bottom:.85rem; }
  .jis-hero-sub { font-size:.94rem; line-height:1.6; margin-bottom:1.5rem; }
  .jis-hero-actions { flex-direction:column; gap:.75rem; margin-bottom:1.5rem; }
  .jis-hero-actions .jis-btn { width:100%; padding:1rem 1.5rem; min-height:52px; }
  .jis-hero-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding-top:1.1rem; }
  .jis-stat strong { font-size:1.35rem; }
  .jis-stat span { font-size:.6rem; }
  .jis-section { padding:3rem 0; }
  .jis-container { padding:0 1.25rem; }
  .jis-h2 { font-size:clamp(1.55rem,7vw,2rem); }
  .jis-services-hd { margin-bottom:1.75rem; }
  .jis-cards { grid-template-columns:1fr; gap:1.1rem; }
  .jis-card-img { height:190px; }
  .jis-card-body { padding:1.25rem; }
  .jis-about-grid { grid-template-columns:1fr; gap:2rem; }
  .jis-about-img-frame { aspect-ratio:16/9; }
  .jis-about-pill { display:none; }
  .jis-about-text .jis-btn { width:100%; min-height:52px; }
  .jis-areas-grid { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .jis-area-card { padding:1.1rem; }
  .jis-area-city { font-size:1rem; }
  .jis-area-desc { font-size:.8rem; }
  .jis-tag { font-size:.62rem; padding:.22rem .55rem; }
  .jis-region-banner { font-size:.82rem; padding:.9rem 1rem; }
  .jis-cta-section { padding:3rem 0; }
  .jis-cta-logo { display:none; }
  .jis-cta-btns { flex-direction:column; gap:.75rem; }
  .jis-cta-btns .jis-btn { width:100%; min-height:52px; }
  .jis-contact-grid { grid-template-columns:1fr; gap:2rem; }
  .jis-contact-box { padding:1.5rem 1.25rem; }
  .jis-citem { padding:1rem 1.1rem; }
  .jis-footer { padding:2.5rem 0 5rem; }
  .jis-footer-top { grid-template-columns:1fr; gap:1.75rem; }
  .jis-footer-brand p { max-width:100%; }
}

@media (max-width:400px) {
  .jis-areas-grid { grid-template-columns:1fr; }
  .jis-hero-stats { grid-template-columns:repeat(2,1fr); gap:.75rem 0; }
}
