
:root{--ink:#173e35;--muted:#65756d;--paper:#fbfaf5;--sand:#eeeade;--line:#d9ded5;--orange:#d66940;--lime:#dce4ac}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topline{background:var(--ink);color:#e5e9d5;font-size:10px;letter-spacing:1.6px;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between}header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}.header{display:flex;align-items:center;gap:28px;min-height:100px}.brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:900;line-height:1;letter-spacing:-1px;flex-shrink:0}.brand small{display:block;font-size:10px;letter-spacing:5px;margin-top:7px}.brand img{width:58px;height:58px;object-fit:contain}.mark{display:grid;place-items:center;width:48px;height:52px;background:var(--orange);color:var(--paper);font-size:42px;border-radius:2px 16px 2px 2px}.header nav{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:12px;font-weight:700}.header nav a{white-space:nowrap}.login-link{font-size:12px;border:1px solid var(--ink);padding:9px 13px;white-space:nowrap}.menu-toggle{display:none}.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;min-height:605px;gap:45px}.hero-copy{padding:73px 0 29px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.1px;text-transform:uppercase;margin:0 0 24px;display:flex;gap:9px;align-items:center}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.1vw,67px);line-height:1.07;letter-spacing:-3px;font-weight:800;margin-bottom:27px}h2{font-size:clamp(30px,3.5vw,43px);line-height:1.14;letter-spacing:-1.7px;margin-bottom:24px}h3{font-size:22px;line-height:1.3;letter-spacing:-.6px}.lead{font-size:17px;max-width:510px;line-height:1.8;color:var(--muted)}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 20px;border:1px solid var(--ink);background:var(--ink);color:#fff9ed;font-size:12px;font-weight:700;line-height:1.4}.button:hover{background:#2b5448;text-decoration:none}.text-link{font-size:12px;font-weight:800}.hero-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;margin-top:52px;font-size:9px;font-weight:700;letter-spacing:1px}.hero-art{position:relative;background:var(--sand);align-self:stretch;margin-top:32px;margin-bottom:32px;border-radius:160px 3px 3px 3px;overflow:hidden;min-height:500px}.hero-art>img{width:100%;height:100%;object-fit:cover}.art-label{position:absolute;bottom:23px;left:24px;font-size:9px;letter-spacing:2px;color:#f8f5e8}.art-note{position:absolute;right:16px;top:20px;font-size:9px;writing-mode:vertical-rl;letter-spacing:1px}.statement{background:var(--lime);padding:27px 0}.statement .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px}.statement strong{font-size:16px}.statement .wrap>span:last-child{font-size:27px}.section{padding-block:82px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.large-copy{font-size:23px;line-height:1.55;letter-spacing:-.5px}.muted{color:var(--muted);font-size:13px}.sand{background:var(--sand)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.section-head h2,.section-head h1{margin-bottom:0}.editorial-note{display:flex;gap:42px;align-items:center;padding:40px 0;border-top:1px solid #b8c3b5}.big-number{font-size:90px;line-height:1;color:#abb7a6}.editorial-note p{max-width:650px;color:var(--muted)}.tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;display:inline-block;background:#e2e8da;padding:5px 8px;color:var(--ink)}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.value{padding:36px;background:var(--sand)}.value>span{font-size:10px;letter-spacing:2px}.value h3{font-size:30px;margin-top:36px}.value p{font-size:15px;max-width:400px}.dark,.forest{background:var(--ink);color:#f4f0e2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:var(--paper);border:1px solid var(--line);overflow:hidden}.card-image{aspect-ratio:1.5;object-fit:cover;width:100%}.card-body{padding:25px}.card-body p{font-size:14px;color:var(--muted)}.card-body .eyebrow{font-size:9px}.card-placeholder{height:185px;padding:27px;background:#d9e0cc;display:flex;justify-content:space-between;align-items:flex-end}.card-placeholder span{font-size:27px;font-weight:900;line-height:1;letter-spacing:-1px}.card-placeholder b{font-size:50px;color:var(--orange)}.empty{grid-column:1/-1;background:var(--paper);padding:45px;border:1px solid var(--line)}.empty p{max-width:650px;color:var(--muted)}.empty-icon{font-size:40px;color:var(--orange);display:block;margin-bottom:15px}.slim{background:transparent;border-left:3px solid var(--orange)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.timeline article{border-top:2px solid var(--orange);padding-top:24px}.newsletter{padding-block:65px;background:var(--orange);color:#fff9ed}.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.newsletter h2{font-size:47px}.newsletter p{font-size:14px}.inline-form{display:flex;margin-bottom:17px}.inline-form input{min-width:0}.inline-form .button{white-space:nowrap}.check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px;font-weight:400!important;margin:18px 0!important}.check input{width:auto;margin-top:5px}.check a{text-decoration:underline}.newsletter .check{display:block!important}.newsletter .check input{display:inline-block;vertical-align:middle}footer{background:#11362e;color:#eeedde;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:40px}.footer-grid h3{font-size:12px;letter-spacing:.5px;margin-bottom:22px}.footer-grid p{font-size:12px;color:#b6c3b6;margin-top:20px;max-width:250px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;margin:9px 0}.socials{font-size:11px;display:flex;gap:12px;flex-wrap:wrap}.footnote{border-top:1px solid #426056;margin-top:45px;padding-top:23px;display:flex;justify-content:space-between;font-size:10px;color:#b6c3b6}.page-head{padding:70px 0;background:var(--sand)}.page-head h1{max-width:900px;font-size:52px}.reading{max-width:780px}.prose{white-space:pre-line;overflow-wrap:anywhere;font-size:17px;line-height:1.95;margin-bottom:35px}.article-image{width:100%;max-height:500px;object-fit:cover;margin-bottom:40px}.source{border-block:1px solid var(--line);padding:22px 0;font-size:13px;margin-block:35px}.search-form{display:flex;gap:12px;margin-bottom:35px}.search-form input{flex:2}.search-form select{flex:1}input,textarea,select{width:100%;border:1px solid #b8c5b7;background:#fffdf7;color:var(--ink);border-radius:0;padding:12px 14px;min-height:46px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}label{display:block;font-size:12px;font-weight:700;margin:0 0 18px}label input,label textarea,label select{margin-top:6px}textarea{resize:vertical}.form-panel{background:#f0f0e7;border:1px solid var(--line);padding:32px}.form-panel small{display:block;color:var(--muted);margin:-7px 0 22px;font-size:11px}.form-panel h2{font-size:23px;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.auth{max-width:610px}.auth h1{font-size:44px}.honeypot,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.notice,.alert{padding:20px;background:#e3edcf;border-left:4px solid #547643;margin-top:24px}.alert{background:#f9e4d8;border-color:var(--orange)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.user-menu{position:relative}.user-menu summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;list-style:none}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}.initial{display:grid;place-items:center;background:var(--lime);font-weight:800}.user-menu>div{position:absolute;right:0;top:48px;width:180px;background:var(--paper);padding:15px;border:1px solid var(--line);box-shadow:0 10px 30px #173e3520}.user-menu a{display:block;font-size:13px;padding:7px}.user-menu button{border:0;background:transparent;color:var(--ink);padding:7px;font-size:13px}.admin-shell{display:grid;grid-template-columns:205px 1fr;gap:40px;padding-block:45px}.admin-nav{border-right:1px solid var(--line);padding-right:24px}.admin-nav a{display:block;font-size:13px;margin-bottom:14px}.admin-main{min-width:0}.admin-main h1{font-size:38px;letter-spacing:-1.5px}.admin-main h2{font-size:25px;letter-spacing:-.6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:45px}.stats a{padding:20px;background:var(--sand);font-size:12px}.stats strong{display:block;font-size:33px;line-height:1.3}.inbox{border:1px solid var(--line);padding:23px;margin-bottom:17px}.inbox h3{margin:12px 0}.inbox .prose{font-size:14px}.inbox>p{font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:17px 12px;border-bottom:1px solid var(--line)}th{background:var(--sand)}.inline{display:inline}.quiet{border:0;background:transparent;font-size:12px;color:#884f36;margin-left:15px;text-decoration:underline}.admin-preview{max-width:220px;max-height:160px;object-fit:contain;margin-bottom:25px}.user-edit{border:1px solid var(--line);margin-bottom:18px}.user-edit summary{padding:20px;font-size:13px;cursor:pointer}.user-edit .form-panel{border:0}.pagination{margin-top:30px}.pagination a{display:inline-block;padding:10px;border:1px solid var(--line)}blockquote{margin:0;border-left:2px solid var(--orange);padding:20px}blockquote p{font-size:22px}blockquote cite{font-size:12px}.forest h2{color:var(--paper)}
@media(min-width:1400px){.hero-grid{gap:70px}}@media(max-width:1100px){.header{gap:18px}.header nav{gap:12px;font-size:11px}.hero-grid{gap:30px}h1{font-size:55px}.hero-art{min-height:480px}.brand{font-size:24px}.mark{width:40px;height:45px}.newsletter-grid{gap:35px}.inline-form{display:block}.inline-form .button{margin-top:10px}.footer-grid{gap:25px}}@media(max-width:900px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px;border-bottom:1px solid var(--line);font-size:15px}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:18px}.menu-toggle{display:block;margin-left:auto;background:transparent;border:0;color:var(--ink);font-size:12px;font-weight:700}.header{min-height:85px}.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero-copy{padding-top:50px}h1{font-size:43px;letter-spacing:-2px}.hero-art{min-height:450px;border-top-left-radius:120px}.hero-meta{font-size:8px}.actions{flex-wrap:wrap;gap:18px}.about{gap:40px}.large-copy{font-size:20px}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr}.admin-shell{grid-template-columns:160px 1fr;gap:25px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.topline{font-size:8px;letter-spacing:.9px}.topline .wrap>span:last-child{font-size:8px}.header{gap:15px}.brand{font-size:22px}.brand small{font-size:8px}.mark{width:36px;height:40px;font-size:33px}.login-link{padding:7px 10px}.hero-grid{grid-template-columns:1fr;gap:5px;min-height:0}.hero-copy{padding:43px 0 8px}.hero h1{font-size:49px;max-width:480px;letter-spacing:-2.4px}.eyebrow{font-size:9px;margin-bottom:20px}.lead{font-size:15px}.hero-meta{margin-top:32px;padding-top:16px}.hero-art{min-height:0;height:360px;margin:15px 0 28px;border-radius:115px 2px 2px 2px}.hero-art>img{object-position:center 45%}.statement{padding:22px 0}.statement .wrap{display:block;font-size:11px}.statement strong{display:block;font-size:15px;margin-top:5px}.statement .wrap>span:last-child{display:none}.section{padding-block:52px}.about{grid-template-columns:1fr;gap:25px}.large-copy{font-size:20px}.section-head{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:28px}.section-head .muted{margin-bottom:0}h2{font-size:34px}.values-grid,.cards,.newsletter-grid,.timeline{grid-template-columns:1fr}.value{padding:28px}.value h3{font-size:27px;margin-top:28px}.editorial-note{gap:20px;align-items:flex-start;padding:30px 0}.big-number{font-size:52px}.editorial-note h3{font-size:21px}.editorial-note p{font-size:14px}.empty{padding:28px}.empty h2{font-size:28px}.newsletter{padding-block:48px}.newsletter-grid{gap:25px}.newsletter h2{font-size:41px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footnote{display:block;font-size:9px}.footnote>span{display:block;margin-bottom:7px}.page-head{padding:45px 0}.page-head h1{font-size:39px;letter-spacing:-1.7px}.search-form{flex-direction:column}.form-panel{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.auth h1{font-size:38px}.admin-shell{grid-template-columns:1fr;gap:30px}.admin-nav{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;padding-bottom:20px}.admin-nav .eyebrow{width:100%;margin-bottom:5px}.admin-nav a{margin:0;padding:4px 8px;background:var(--sand);font-size:11px}.admin-main h1{font-size:31px}.account-label{display:none}.prose{font-size:16px}.card-placeholder{height:170px}.stats{gap:10px}.stats a{padding:16px}.art-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* =============================================
   JURA BRASIL - FINAL 01
   ============================================= */

:root{
 --jura-red:#d71920;
 --jura-green:#008751;
 --jura-yellow:#f2d21b;
 --jura-black:#111111;
 --jura-paper:#fffdf8;
}

body{
 background:var(--jura-paper);
}

.topline{
 background:var(--jura-green);
}

.mark{
 background:var(--jura-red);
}

.button{
 background:var(--jura-red);
 border-color:var(--jura-red);
}

.button:hover{
 background:var(--jura-green);
 border-color:var(--jura-green);
}

.statement{
 border-top:5px solid var(--jura-yellow);
}

.newsletter{
 background:var(--jura-red);
}

footer{
 background:var(--jura-black);
}

.timeline article,
blockquote{
 border-color:var(--jura-red);
}


/* SLIDER */

.jura-slider{
 position:relative;
 min-height:660px;
 background:var(--jura-black);
 color:#fff;
 overflow:hidden;
}

.jura-slide{
 display:none;
 position:relative;
 min-height:660px;
}

.jura-slide.is-active{
 display:block;
}

.jura-slide-image{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}

.jura-slide-overlay{
 position:absolute;
 inset:0;
 background:
 linear-gradient(
  90deg,
  rgba(0,0,0,.84) 0%,
  rgba(0,0,0,.58) 45%,
  rgba(0,0,0,.12) 100%
 );
}

.jura-slide-content{
 position:relative;
 z-index:2;
 min-height:660px;

 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:flex-start;

 padding-top:90px;
 padding-bottom:110px;
}

.jura-slide-content h1{
 max-width:850px;
 color:#fff;
 text-shadow:0 3px 24px rgba(0,0,0,.45);
}

.jura-slide-content .lead{
 max-width:680px;
 color:#fff;
 text-shadow:0 2px 16px rgba(0,0,0,.6);
}

.jura-light-button{
 background:#fff !important;
 color:#111 !important;
 border-color:#fff !important;
}

.jura-slider-controls{
 position:absolute;
 z-index:4;

 left:50%;
 bottom:28px;
 transform:translateX(-50%);

 display:flex;
 align-items:center;
 gap:12px;
}

.jura-slider-controls button{
 width:48px;
 height:48px;

 border:1px solid rgba(255,255,255,.6);
 background:rgba(0,0,0,.45);
 color:#fff;

 font-size:20px;
 cursor:pointer;
}

.jura-slider-controls span{
 padding:8px 12px;
 background:rgba(0,0,0,.45);

 font-size:11px;
 letter-spacing:1.5px;
}


/* MOBILE */

@media(max-width:720px){

 .jura-slider,
 .jura-slide,
 .jura-slide-content{
  min-height:570px;
 }

 .jura-slide-content{
  padding-top:70px;
  padding-bottom:90px;
 }

 .jura-slide-content h1{
  font-size:clamp(2.5rem,12vw,4rem);
 }

 .jura-slide-image{
  object-position:center top;
 }

}

/* ====================================================
   JURA BRASIL - FINAL 02
   Administration + finitions interface
   ==================================================== */

.admin-shell{
    max-width:1440px;
}

.admin-nav{
    position:sticky;
    top:20px;
    align-self:start;
}

.admin-nav > a{
    border-radius:4px;
    padding:9px 10px;
    margin-left:-10px;
    transition:
        background .15s ease,
        transform .15s ease;
}

.admin-nav > a:hover{
    background:#f0ece4;
    text-decoration:none;
    transform:translateX(2px);
}

.admin-main{
    padding-bottom:70px;
}

.admin-main .section-head{
    border-bottom:1px solid var(--line);
    padding-bottom:22px;
}

.stats a{
    position:relative;
    overflow:hidden;
    min-height:110px;
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.stats a:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,0,0,.07);
    text-decoration:none;
}

.stats a:first-child{
    border-top:4px solid var(--jura-red);
}

.form-panel{
    border-radius:5px;
}

.form-panel input[type="file"]{
    padding:18px;
    border-style:dashed;
    background:#fff;
}

.admin-preview{
    max-width:360px;
    max-height:260px;
    border:1px solid var(--line);
    background:#fff;
    padding:5px;
}

.admin-slide-help{
    background:#fff7d6;
    border-left:4px solid var(--jura-yellow);
    padding:17px 20px;
    margin-bottom:25px;
    font-size:13px;
}

.admin-media-tip{
    border:1px solid var(--line);
    padding:18px;
    background:#fff;
    margin:18px 0 25px;
    font-size:12px;
}

.table-wrap{
    background:#fff;
    border:1px solid var(--line);
}

table th{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1px;
}

table tbody tr:hover{
    background:#faf8f2;
}


/* HEADER FINAL */

header{
    position:sticky;
    top:0;
    z-index:50;
    box-shadow:0 1px 0 rgba(0,0,0,.04);
}

.topline{
    position:relative;
    z-index:51;
}

.header{
    min-height:92px;
}

.header nav a{
    position:relative;
    padding:10px 0;
}

.header nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:3px;
    height:2px;
    background:var(--jura-red);
    transition:right .18s ease;
}

.header nav a:hover{
    text-decoration:none;
}

.header nav a:hover::after{
    right:0;
}

.login-link{
    border-color:var(--jura-red);
}

.login-link:hover{
    background:var(--jura-red);
    color:#fff;
    text-decoration:none;
}


/* HERO FINAL */

.jura-slider::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:5px;
    z-index:5;
    background:
        linear-gradient(
            90deg,
            var(--jura-red) 0 38%,
            var(--jura-yellow) 38% 50%,
            var(--jura-green) 50% 100%
        );
}

.jura-slide-content .eyebrow{
    color:#fff;
}

.jura-slide-content .eyebrow::before{
    content:"";
    width:28px;
    height:3px;
    background:var(--jura-yellow);
}

.jura-slide-content h1{
    margin-bottom:20px;
}

.jura-slider-controls button{
    transition:
        background .15s ease,
        transform .15s ease;
}

.jura-slider-controls button:hover{
    background:var(--jura-red);
    transform:translateY(-2px);
}


/* CARDS */

.card{
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(0,0,0,.07);
}

.card-image{
    transition:transform .35s ease;
}

.card:hover .card-image{
    transform:scale(1.015);
}


/* FOOTER */

footer{
    position:relative;
}

footer::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:5px;
    background:
        linear-gradient(
            90deg,
            var(--jura-red) 0 38%,
            var(--jura-yellow) 38% 50%,
            var(--jura-green) 50% 100%
        );
}

footer .brand .mark{
    background:var(--jura-red);
}

.footer-grid h3{
    color:#fff;
}

.footer-grid a:hover{
    color:var(--jura-yellow);
}


/* RESPONSIVE FINAL */

@media(max-width:900px){

    header{
        position:relative;
    }

    .header nav.open{
        box-shadow:0 20px 35px rgba(0,0,0,.12);
    }

    .admin-nav{
        position:static;
    }

}

@media(max-width:620px){

    .topline .wrap{
        gap:10px;
    }

    .header{
        min-height:78px;
    }

    .header nav.open{
        grid-template-columns:1fr;
        padding:22px 28px;
    }

    .header nav.open a{
        border-bottom:1px solid var(--line);
        padding:10px 0;
    }

    .jura-slide-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(0,0,0,.86),
                rgba(0,0,0,.30)
            );
    }

    .jura-slide-content{
        justify-content:flex-end;
    }

    .jura-slider-controls{
        bottom:18px;
    }

    .admin-nav{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:14px;
    }

    .admin-nav a{
        white-space:nowrap;
    }

    .admin-preview{
        max-width:100%;
    }

}

/* JURA final navigation state */
#nav a {
    position: relative;
}

#nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 2px;
    background: #df1f26;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}

#nav a:hover::after,
#nav a:focus-visible::after,
#nav a.is-current::after,
#nav a[aria-current="page"]::after {
    transform: scaleX(1);
}

/*
 * Desktop hero:
 * preserve the existing composition while avoiding a hero that extends
 * unnecessarily below a normal 100% desktop viewport.
 */
@media (min-width: 1000px) {
    .hero {
        min-height: auto !important;
    }

    .hero-grid {
        min-height: calc(100vh - 145px);
        max-height: 760px;
        align-items: center;
    }

    .hero-copy {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .hero-art {
        max-height: 700px;
        overflow: hidden;
    }

    .hero-art img {
        width: 100%;
        height: 100%;
        max-height: 650px;
        object-fit: cover;
        object-position: center;
    }
}

@media (max-height: 850px) and (min-width: 1000px) {
    .hero-grid {
        min-height: 610px;
        max-height: 680px;
    }

    .hero-copy h1 {
        margin-bottom: 18px;
    }

    .hero-copy .lead {
        margin-bottom: 22px;
    }

    .hero-art,
    .hero-art img {
        max-height: 610px;
    }
}


/* =========================================================
   JURA SPRINT 03
   Branding, flags and privacy notice
   ========================================================= */

.country-branding{
    display:inline-flex;
    align-items:center;
    gap:9px;
}

.country-branding img{
    width:22px;
    height:15px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.25);
}

.admin-branding-box{
    margin:32px 0;
    padding:24px;
    border:1px solid var(--line);
    background:#fffdf7;
}

.admin-preview-small{
    width:64px!important;
    height:64px!important;
    object-fit:contain!important;
}

.branding-flags-preview{
    display:flex;
    gap:18px;
    align-items:center;
    margin-bottom:25px;
}

.branding-flags-preview img{
    width:90px;
    max-height:60px;
    object-fit:contain;
    border:1px solid var(--line);
    background:white;
    padding:5px;
}

.cookie-banner[hidden]{
    display:none!important;
}

.cookie-banner{
    position:fixed;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:1000;
    max-width:1120px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:20px 22px;
    background:#11362e;
    color:#f7f3e8;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 16px 50px rgba(0,0,0,.22);
}

.cookie-banner strong{
    display:block;
    margin-bottom:4px;
}

.cookie-banner p{
    margin:0;
    max-width:720px;
    font-size:12px;
    color:#d5ddd5;
}

.cookie-actions{
    display:flex;
    align-items:center;
    gap:18px;
    flex-shrink:0;
}

.cookie-actions>a{
    font-size:11px;
    text-decoration:underline;
}

.cookie-actions .button{
    background:#f7f3e8;
    color:#11362e;
    border-color:#f7f3e8;
}

@media(max-width:720px){
    .cookie-banner{
        left:12px;
        right:12px;
        bottom:12px;
        display:block;
    }

    .cookie-actions{
        margin-top:16px;
        justify-content:space-between;
    }

    .country-branding img{
        width:19px;
        height:13px;
    }
}


/* JURA_SPRINT03C */

.country-branding{
 display:inline-flex;
 align-items:center;
 gap:7px;
}

.country-branding img{
 width:22px;
 height:15px;
 object-fit:cover;
 display:block;
 border-radius:1px;
}

.jura-country-assets{
 margin:24px 0;
 padding:20px;
 border:1px solid var(--line);
}

.jura-country-preview{
 display:flex;
 align-items:center;
 gap:16px;
 margin-top:15px;
}

.jura-country-preview img{
 width:90px;
 max-height:58px;
 object-fit:contain;
 border:1px solid var(--line);
 padding:4px;
}

.jura-cookie-banner[hidden]{
 display:none !important;
}

.jura-cookie-banner{
 position:fixed;
 z-index:1500;
 left:50%;
 bottom:20px;
 transform:translateX(-50%);
 width:min(1100px,calc(100% - 40px));
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:24px;
 padding:18px 22px;
 background:#11362e;
 color:#f7f3e8;
 border:1px solid rgba(255,255,255,.18);
 box-shadow:0 18px 55px rgba(0,0,0,.28);
}

.jura-cookie-copy strong{
 display:block;
 margin-bottom:4px;
}

.jura-cookie-copy p{
 margin:0;
 font-size:12px;
 line-height:1.5;
 color:#d8dfda;
}

.jura-cookie-actions{
 display:flex;
 align-items:center;
 gap:16px;
 flex-shrink:0;
}

.jura-cookie-actions>a{
 text-decoration:underline;
}

.jura-cookie-actions .button{
 background:#f7f3e8;
 color:#11362e;
 border-color:#f7f3e8;
}

@media(max-width:720px){

 .jura-cookie-banner{
   bottom:12px;
   width:calc(100% - 24px);
   display:block;
 }

 .jura-cookie-actions{
   margin-top:14px;
   justify-content:space-between;
 }

 .country-branding img{
   width:19px;
   height:13px;
 }

}



/* JURA_CHAT_V1 */

.jura-chat-page{
 max-width:900px;
}

.chat-heading{
 margin-bottom:28px;
}

.chat-window{
 display:flex;
 flex-direction:column;
 gap:14px;
 margin:24px 0;
 padding:22px;
 min-height:220px;
 background:rgba(0,0,0,.025);
 border:1px solid var(--line);
}

.chat-message{
 width:min(78%,680px);
 padding:16px 18px;
 border:1px solid var(--line);
 background:#fff;
}

.chat-message p{
 margin:8px 0 0;
 white-space:pre-wrap;
 overflow-wrap:anywhere;
}

.chat-me,
.chat-admin-message{
 align-self:flex-end;
 background:#11362e;
 color:#fff;
}

.chat-user-message{
 align-self:flex-start;
}

.chat-message-head{
 display:flex;
 justify-content:space-between;
 gap:20px;
 font-size:12px;
}

.chat-message-head time{
 opacity:.7;
 white-space:nowrap;
}

.chat-empty{
 margin:auto;
 text-align:center;
 padding:30px;
}

.chat-compose{
 margin-top:22px;
}

.chat-compose label{
 display:block;
 font-weight:700;
 margin-bottom:8px;
}

.chat-compose textarea{
 width:100%;
 resize:vertical;
}

.chat-compose-actions{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 margin-top:12px;
}

.chat-thread-list{
 margin-top:25px;
 border-top:1px solid var(--line);
}

.chat-thread{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:20px;
 padding:18px 4px;
 border-bottom:1px solid var(--line);
 text-decoration:none;
}

.chat-thread>div:first-child{
 display:flex;
 flex-direction:column;
 gap:3px;
}

.chat-thread span{
 font-size:13px;
}

.chat-thread-meta{
 display:flex;
 align-items:center;
 gap:12px;
 text-align:right;
}

.chat-unread{
 padding:5px 9px;
 background:#11362e;
 color:#fff;
 border-radius:999px;
 font-weight:700;
}

@media(max-width:720px){

 .chat-window{
   padding:12px;
 }

 .chat-message{
   width:92%;
 }

 .chat-message-head{
   display:block;
 }

 .chat-message-head time{
   display:block;
   margin-top:3px;
 }

 .chat-compose-actions{
   display:block;
 }

 .chat-compose-actions .button{
   width:100%;
   margin-top:12px;
 }

 .chat-thread{
   display:block;
 }

 .chat-thread-meta{
   margin-top:10px;
   justify-content:space-between;
   text-align:left;
 }

}


/* JURA SPRINT04 POPUP FINAL */

.guest-actions{
 display:flex;
 align-items:center;
 gap:12px
}

.register-link{
 font-size:12px;
 font-weight:700
}

.register-login{
 margin-top:22px
}

.jura-livechat{
 position:fixed;
 right:24px;
 bottom:24px;
 z-index:1000
}

.jura-chat-launcher{
 min-height:56px;
 border:0;
 border-radius:30px;
 padding:0 21px;
 background:#173e35;
 color:#fff;
 display:flex;
 align-items:center;
 gap:10px;
 font-size:13px;
 font-weight:800;
 box-shadow:0 14px 38px rgba(0,0,0,.24)
}

.jura-chat-launcher-icon{
 display:grid;
 place-items:center;
 width:29px;
 height:29px;
 border-radius:50%;
 background:#d66940
}

.jura-chat-popup{
 position:absolute;
 right:0;
 bottom:70px;
 width:min(390px,calc(100vw - 32px));
 height:min(610px,calc(100vh - 115px));
 background:#fbfaf5;
 border:1px solid #d9ded5;
 box-shadow:0 20px 65px rgba(0,0,0,.27);
 overflow:hidden
}

.jura-chat-popup-head{
 min-height:72px;
 padding:15px 18px;
 background:#173e35;
 color:#fff;
 display:flex;
 justify-content:space-between;
 align-items:center
}

.jura-chat-popup-head strong,
.jura-chat-popup-head small{
 display:block
}

.jura-chat-popup-head small{
 margin-top:3px;
 opacity:.75;
 font-size:11px
}

.jura-chat-popup-head button{
 border:0;
 background:transparent;
 color:#fff;
 font-size:29px
}

.jura-chat-popup-body{
 height:calc(100% - 72px);
 padding:18px;
 overflow:auto
}

.jura-chat-popup-body label{
 margin-bottom:12px
}

.jura-chat-popup-body input{
 min-height:42px
}

.jura-chat-popup-body small{
 display:block;
 margin-top:10px;
 color:#65756d
}

.jura-chat-popup-messages{
 height:335px;
 overflow:auto;
 padding:3px 2px 14px
}

.jura-popup-message{
 display:flex;
 margin:8px 0
}

.jura-popup-message p{
 max-width:82%;
 padding:10px 12px;
 margin:0;
 font-size:13px;
 line-height:1.5
}

.jura-popup-message.from-visitor{
 justify-content:flex-end
}

.jura-popup-message.from-visitor p{
 background:#173e35;
 color:#fff
}

.jura-popup-message.from-admin{
 justify-content:flex-start
}

.jura-popup-message.from-admin p{
 background:#eeeade
}

.jura-chat-popup textarea{
 min-height:72px
}

.jura-chat-popup [data-chat-send] .button{
 width:100%
}

.jura-chat-error{
 margin-top:12px;
 padding:10px;
 background:#f9e4d8;
 font-size:12px
}

/* Hero compact at browser zoom 100% */
@media(min-width:901px) and (min-height:700px){

 .hero-grid{
  min-height:min(555px,calc(100vh - 145px))
 }

 .hero-copy{
  padding-top:45px;
  padding-bottom:20px
 }

 .hero-copy .eyebrow{
  margin-bottom:16px
 }

 .hero-copy h1{
  margin-bottom:18px
 }

 .hero-copy .actions{
  margin-top:20px
 }

 .hero-copy .hero-meta{
  margin-top:29px;
  padding-top:16px
 }

 .hero-art{
  min-height:425px;
  margin-top:22px;
  margin-bottom:22px
 }
}

@media(max-width:620px){

 .register-link{
  display:none
 }

 .guest-actions{
  gap:7px
 }

 .jura-livechat{
  right:14px;
  bottom:14px
 }

 .jura-chat-launcher{
  min-height:50px;
  padding:0 16px
 }

 .jura-chat-popup{
  position:fixed;
  inset:12px;
  width:auto;
  height:auto;
  max-height:none
 }

 .jura-chat-popup-messages{
  height:calc(100vh - 330px);
  min-height:180px
 }
}

/* ==========================================================
   JURA SPRINT 05B FINAL
   ========================================================== */

.jura-chat-popup,
.jura-chat-popup-body{
 background:#f2f0e8;
}

.jura-chat-popup-messages{
 background:#f7f5ef;
 border:1px solid rgba(23,62,53,.09);
 padding:10px;
}

.jura-chat-admin-title{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 margin-bottom:12px;
}

.jura-chat-admin-title small{
 margin:0;
}

.jura-chat-admin-thread{
 display:block;
 width:100%;
 padding:13px 4px;
 border:0;
 border-bottom:1px solid rgba(23,62,53,.14);
 background:transparent;
 text-align:left;
 cursor:pointer;
}

.jura-chat-admin-thread:hover{
 background:rgba(23,62,53,.045);
}

.jura-chat-admin-thread strong,
.jura-chat-admin-thread span{
 display:block;
}

.jura-chat-admin-thread span{
 margin-top:4px;
 font-size:12px;
 color:#65756d;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.jura-chat-back{
 border:0;
 background:transparent;
 padding:0;
 margin-bottom:12px;
 font-weight:800;
 color:#173e35;
 cursor:pointer;
}

.jura-chat-admin-person{
 padding-bottom:10px;
 margin-bottom:10px;
 border-bottom:1px solid rgba(23,62,53,.13);
 font-size:12px;
 font-weight:700;
}

[data-chat-admin-send] textarea{
 width:100%;
}

[data-chat-admin-send] .button{
 width:100%;
}


/* Clickable news photographs */
.card-image-link{
 display:block;
 overflow:hidden;
}

.card-image-link .card-image{
 display:block;
 width:100%;
 transition:transform .22s ease;
}

.card-image-link:hover .card-image{
 transform:scale(1.015);
}


/* Internal page headers - homepage hero untouched */
.page-head{
 padding-top:38px!important;
 padding-bottom:34px!important;
}

.page-head .wrap{
 min-height:0!important;
}

.page-head h1{
 margin-top:4px!important;
 margin-bottom:10px!important;
}

.page-head .lead{
 margin-top:8px!important;
 margin-bottom:12px!important;
}


/* Registration */
.register-page-v2{
 max-width:980px;
}

.register-intro{
 max-width:720px;
 margin-bottom:30px;
}

.registration-form-v2{
 max-width:none;
}

.register-block{
 padding:25px 0;
 border-bottom:1px solid rgba(23,62,53,.14);
}

.register-block:first-child{
 padding-top:0;
}

.register-block h2{
 margin:0 0 20px;
 font-size:21px;
}

.registration-form-v2 .form-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:18px;
}

.phone-fields{
 display:grid;
 grid-template-columns:minmax(170px,.65fr) 1.35fr;
 gap:14px;
}

.registration-form-v2 select{
 width:100%;
 min-height:48px;
 padding:10px 12px;
 border:1px solid var(--line);
 background:#fff;
}

.profile-photo-field{
 padding:22px;
 border:1px dashed rgba(23,62,53,.35);
 background:#f7f5ef;
}

.profile-photo-field input{
 margin-top:12px;
}

.profile-photo-preview{
 margin-top:18px;
}

.profile-photo-preview img{
 display:block;
 width:145px;
 height:175px;
 object-fit:cover;
 border-radius:4px;
 border:1px solid var(--line);
}

.privacy-block{
 background:#f7f5ef;
 padding-left:18px;
 padding-right:18px;
 margin-top:20px;
}

.register-submit{
 margin-top:24px;
}


/* Keep homepage hero compact at 100% */
@media(min-width:1000px){

 .hero-grid{
  min-height:min(535px,calc(100vh - 150px))!important;
 }

 .hero-copy{
  padding-top:28px!important;
  padding-bottom:22px!important;
 }

 .hero-art{
  min-height:390px!important;
  max-height:535px!important;
 }

 .hero-art img{
  max-height:535px!important;
 }
}

@media(max-width:700px){

 .page-head{
  padding-top:24px!important;
  padding-bottom:22px!important;
 }

 .registration-form-v2 .form-grid,
 .phone-fields{
  grid-template-columns:1fr;
 }

 .register-block{
  padding:21px 0;
 }

 .jura-chat-popup{
  background:#f2f0e8;
 }
}

/* ============================================================
   JURA SPRINT 06
   ============================================================ */

/* Softer reading background */
body{
 background:#f7f6f0;
}

header,
.user-menu>div{
 background:#f7f6f0;
}

/* Compact internal page introduction */
.page-head{
 padding:26px 0 24px!important;
 background:#efede4;
 border-bottom:1px solid var(--line);
}

.page-head .eyebrow{
 margin-bottom:10px;
}

.page-head h1{
 font-size:clamp(34px,4.2vw,54px);
 margin-bottom:8px!important;
}

.page-head p:last-child{
 margin-bottom:0;
}

/* Chat less bright */
.jura-chat-popup,
.jura-chat-popup-body{
 background:#efede6!important;
}

.jura-chat-popup-messages{
 background:#e9e7df!important;
}

/* Comments */
.jura-comments{
 margin-top:58px;
 padding-top:42px;
 border-top:1px solid var(--line);
}

.jura-comments-list{
 display:grid;
 gap:14px;
 margin-bottom:35px;
}

.jura-comment{
 background:#efede5;
 border:1px solid var(--line);
 padding:20px;
}

.jura-comment strong,
.jura-comment small{
 display:block;
}

.jura-comment small{
 color:var(--muted);
 font-size:11px;
 margin:4px 0 12px;
}

.jura-comment p{
 margin-bottom:0;
 white-space:pre-wrap;
}

.jura-comment-form{
 margin-top:30px;
}

/* Gallery */
.jura-album{
 margin-bottom:70px;
}

.jura-photo-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:22px;
}

.jura-photo{
 margin:0;
 background:#efede5;
 border:1px solid var(--line);
}

.jura-photo img{
 width:100%;
 aspect-ratio:4/3;
 object-fit:cover;
 transition:transform .2s ease;
}

.jura-photo a{
 display:block;
 overflow:hidden;
}

.jura-photo a:hover img{
 transform:scale(1.015);
}

.jura-photo figcaption{
 padding:16px;
}

.jura-photo figcaption p{
 color:var(--muted);
 font-size:13px;
 margin:6px 0 0;
}

/* Video */
.jura-video-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:28px;
}

.jura-video-card{
 border:1px solid var(--line);
 background:#efede5;
 overflow:hidden;
}

.jura-video-card video,
.jura-video-external img,
.jura-video-external .card-placeholder{
 width:100%;
 aspect-ratio:16/9;
 object-fit:cover;
 background:#111;
}

.jura-video-external{
 display:block;
 position:relative;
}

.jura-video-external>span{
 display:block;
 padding:10px 16px;
 font-size:11px;
 font-weight:800;
}

.jura-video-copy{
 padding:20px;
}

.jura-video-copy h3{
 margin-bottom:8px;
}

.jura-video-copy p{
 color:var(--muted);
 margin-bottom:0;
}

/* Admin */
.jura-admin-actions{
 display:flex;
 gap:10px;
 flex-wrap:wrap;
 align-items:center;
}

.jura-admin-actions form{
 margin:0;
}

.jura-admin-separator{
 border:0;
 border-top:1px solid var(--line);
 margin:50px 0;
}

@media(max-width:760px){
 .jura-photo-grid,
 .jura-video-grid{
  grid-template-columns:1fr;
 }

 .page-head{
  padding:20px 0 18px!important;
 }
}


/* ==========================================================
   JURA-SPRINT07A-V2
   Visual finishing
   ========================================================== */

:root{
 --paper:#f6f4ed;
 --sand:#ece9df;
}

body,
header{
 background:#f6f4ed;
}


/* Internal page headers */

.page-head{
 padding:20px 0!important;
 background:#ebe8de!important;
}

.page-head .wrap{
 min-height:0!important;
}

.page-head .eyebrow{
 margin-bottom:8px!important;
}

.page-head h1{
 margin-bottom:6px!important;
 line-height:1.08!important;
 font-size:clamp(
   31px,
   4vw,
   45px
 )!important;
}

.page-head p:last-child,
.page-head .lead{
 margin-bottom:0!important;
 line-height:1.5!important;
}


/* Real CMS homepage slider */

@media (min-width:901px){

 .jura-slider{
   min-height:0!important;
   height:clamp(
     430px,
     58vh,
     520px
   )!important;
 }

 .jura-slide{
   min-height:0!important;
   height:100%!important;
 }

 .jura-slide-image{
   height:100%!important;
   min-height:0!important;
 }

 .jura-slide-content{
   padding-top:34px!important;
   padding-bottom:58px!important;
 }

 .jura-slide-content h1{
   font-size:clamp(
     38px,
     4.5vw,
     61px
   )!important;

   line-height:1.03!important;
   margin-bottom:16px!important;
 }

 .jura-slide-content .lead{
   line-height:1.55!important;
   margin-bottom:16px!important;
 }

 .jura-slider-controls{
   bottom:16px!important;
 }
}


/* Fallback homepage hero */

@media (min-width:901px){

 .hero-grid{
   min-height:460px!important;
 }

 .hero-copy{
   padding-top:24px!important;
   padding-bottom:18px!important;
 }

 .hero-copy .eyebrow{
   margin-bottom:14px!important;
 }

 .hero-copy h1{
   margin-bottom:16px!important;
 }

 .hero-copy .actions{
   margin-top:18px!important;
 }

 .hero-copy .hero-meta{
   margin-top:24px!important;
   padding-top:14px!important;
 }

 .hero-art{
   min-height:380px!important;
   max-height:470px!important;
   margin-top:18px!important;
   margin-bottom:18px!important;
 }
}


/* Softer surfaces */

.card,
.empty,
.inbox,
.user-edit,
.form-panel,
.jura-comments,
.jura-gallery-card,
.jura-video-card{
 background:#efede5!important;
}

input,
textarea,
select{
 background:#faf8f2!important;
}


/* Chat */

.jura-chat-popup-body{
 background:#ece9e1!important;
}

.jura-chat-admin-thread,
.jura-chat-message{
 background:#f5f2eb!important;
}


/* Multimedia admin */

.admin-main table td,
.admin-main table th{
 vertical-align:top;
}

.admin-main .form-panel{
 background:#efede5!important;
}


/* Mobile */

@media(max-width:620px){

 .page-head{
   padding:17px 0!important;
 }

 .page-head h1{
   font-size:32px!important;
 }

 .jura-slider{
   min-height:0!important;
 }

 .jura-slide-content{
   padding-top:28px!important;
   padding-bottom:52px!important;
 }
}


/* JURA-SPRINT08-RICH-EDITOR-V2 START */

.jura-rich-editor{
    margin-top:8px;
    border:1px solid #c8cec7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.jura-editor-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:10px;
    border-bottom:1px solid #d5dad4;
    background:#f3f2ec;
}

.jura-editor-toolbar button{
    width:auto;
    min-width:38px;
    min-height:36px;
    margin:0;
    padding:6px 10px;
    border:1px solid #c7cec7;
    border-radius:5px;
    background:#fff;
    color:#123f35;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.jura-editor-toolbar button:hover,
.jura-editor-toolbar button:focus{
    border-color:#14624e;
    background:#e9eee9;
}

.jura-editor-separator{
    width:1px;
    margin:0 2px;
    align-self:stretch;
    background:#d2d7d1;
}

.jura-editor-surface{
    min-height:380px;
    padding:22px;
    outline:none;
    background:#fff;
    color:#173f36;
    line-height:1.7;
}

.jura-editor-surface:focus{
    box-shadow:
        inset 0 0 0 2px
        rgba(18,98,78,.12);
}

.jura-editor-surface h2,
.jura-article-richtext h2{
    margin:1.25em 0 .5em;
    font-size:1.7rem;
    line-height:1.25;
}

.jura-editor-surface h3,
.jura-article-richtext h3{
    margin:1.15em 0 .45em;
    font-size:1.35rem;
    line-height:1.3;
}

.jura-editor-surface blockquote,
.jura-article-richtext blockquote{
    margin:1.2em 0;
    padding:.9em 1.2em;
    border-left:4px solid #dc633a;
    background:#f7f4ec;
}

.jura-editor-surface ul,
.jura-editor-surface ol,
.jura-article-richtext ul,
.jura-article-richtext ol{
    padding-left:2em;
}

.jura-editor-surface a,
.jura-article-richtext a{
    text-decoration:underline;
}

.jura-editor-surface [data-align="center"],
.jura-article-richtext [data-align="center"]{
    text-align:center;
}

.jura-editor-surface [data-align="right"],
.jura-article-richtext [data-align="right"]{
    text-align:right;
}

.jura-editor-surface [data-align="justify"],
.jura-article-richtext [data-align="justify"]{
    text-align:justify;
}

.jura-article-richtext{
    line-height:1.75;
}

@media(max-width:700px){

    .jura-editor-toolbar{
        gap:4px;
    }

    .jura-editor-toolbar button{
        min-height:40px;
        padding:7px 9px;
    }

    .jura-editor-surface{
        min-height:300px;
        padding:15px;
    }
}

/* JURA-SPRINT08-RICH-EDITOR-V2 END */


/* JURA-SPRINT09-V2 START */

.jura-editor-select{
    width:auto;
    min-height:36px;
    margin:0;
    padding:5px 8px;
    border:1px solid #c7cec7;
    border-radius:5px;
    background:#fff;
    color:#123f35;
    font:inherit;
}

.jura-article-richtext h4,
.jura-editor-surface h4{
    margin:1em 0 .4em;
    font-size:1.15rem;
}

.jura-lead{
    font-size:1.18em;
    line-height:1.65;
    font-weight:500;
}

.jura-text-small{font-size:.86em}
.jura-text-normal{font-size:1em}
.jura-text-large{font-size:1.22em}
.jura-text-xlarge{font-size:1.48em}

.jura-font-sans{
    font-family:Arial,Helvetica,sans-serif;
}

.jura-font-serif{
    font-family:Georgia,"Times New Roman",serif;
}

.jura-font-mono{
    font-family:"Courier New",Courier,monospace;
}

.jura-text-primary{color:#123f35}
.jura-text-accent{color:#b64a28}
.jura-text-muted{color:#68736f}

.jura-highlight{
    background:#fff0a8;
    padding:.06em .14em;
}

.jura-share{
    margin:32px 0;
    padding:20px 0;
    border-top:1px solid #d9ded9;
    border-bottom:1px solid #d9ded9;
}

.jura-share-title{
    display:block;
    margin-bottom:12px;
}

.jura-share-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.jura-share-actions a,
.jura-share-actions button{
    display:inline-flex;
    align-items:center;
    width:auto;
    min-height:40px;
    margin:0;
    padding:8px 12px;
    border:1px solid #c8cec7;
    border-radius:6px;
    background:#fff;
    color:#123f35;
    font:inherit;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
}

.jura-social-preview{
    margin:24px 0;
    padding:18px;
    border:1px solid #d5dad4;
    border-radius:8px;
    background:#f8f8f5;
}

.jura-social-card{
    max-width:600px;
    overflow:hidden;
    border:1px solid #d0d5d0;
    border-radius:8px;
    background:#fff;
}

.jura-social-card img{
    display:block;
    width:100%;
    max-height:315px;
    object-fit:cover;
}

.jura-social-card>div{
    padding:14px;
}

/* JURA-SPRINT09-V2 END */


/* JURA-SPRINT10B-CMS-PRO */

.jura-cms-editor{
    margin:16px 0;
}

.jura-editor-mode-tabs{
    display:flex;
    gap:8px;
    margin-bottom:8px;
}

.jura-mode-button.is-active{
    font-weight:700;
}

.jura-tiptap-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:10px;
    border:1px solid #d8dce3;
    border-bottom:0;
    border-radius:10px 10px 0 0;
    background:#f8f9fb;
}

.jura-tiptap-toolbar button,
.jura-tiptap-toolbar select{
    min-height:36px;
    padding:6px 9px;
}

.jura-tiptap-surface,
.jura-html-source{
    min-height:360px;
    width:100%;
    padding:18px;
    border:1px solid #d8dce3;
    border-radius:0 0 10px 10px;
    background:#fff;
}

.jura-tiptap-surface .tiptap{
    min-height:320px;
    outline:none;
}

.jura-tiptap-surface p{
    margin:.7em 0;
}

.jura-tiptap-surface h2,
.jura-tiptap-surface h3,
.jura-tiptap-surface h4{
    margin:1em 0 .45em;
}

.jura-category-panel{
    padding:16px;
    margin:18px 0;
    border:1px solid #e1e4e8;
    border-radius:10px;
}

.jura-category-option{
    display:flex;
    gap:8px;
    align-items:center;
    margin:7px 0;
}

.jura-cms-design-settings{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid #ddd;
}

.jura-admin-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(240px,1fr));
    gap:16px;
}

.jura-footer-logo img{
    display:block;
    max-width:180px;
    max-height:90px;
    object-fit:contain;
    margin-bottom:18px;
}

.jura-ad-banner{
    width:min(1180px,calc(100% - 32px));
    margin:28px auto;
    text-align:center;
}

.jura-ad-banner img{
    display:block;
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:contain;
    object-position:center;
    border-radius:12px;
}

@media(max-width:700px){
    .jura-tiptap-toolbar{
        gap:4px;
    }

    .jura-tiptap-toolbar button,
    .jura-tiptap-toolbar select{
        font-size:13px;
    }

    .jura-tiptap-surface,
    .jura-html-source{
        min-height:280px;
        padding:12px;
    }
}


/* JURA-MEMBER-DIRECTORY-CSS-V1 */

.jura-member-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(190px,1fr));
    gap:1.25rem;
}

.jura-member-card{
    text-align:center;
    padding:1.25rem;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    background:#fff;
}

.jura-member-card a{
    color:inherit;
    text-decoration:none;
}

.jura-member-avatar{
    width:96px;
    height:96px;
    border-radius:50%;
    object-fit:cover;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 1rem;
}

.jura-member-avatar-placeholder{
    background:#ececec;
    font-size:2rem;
    font-weight:700;
}

.jura-member-role{
    font-weight:600;
    margin:.35rem 0;
}

.jura-member-profile-card{
    display:grid;
    grid-template-columns:160px 1fr;
    gap:2rem;
    align-items:start;
    max-width:850px;
}

.jura-member-profile-avatar{
    width:160px;
    height:160px;
    border-radius:50%;
    object-fit:cover;
    display:flex;
    align-items:center;
    justify-content:center;
}

.jura-member-pagination{
    margin-top:2rem;
}

@media(max-width:640px){
    .jura-member-profile-card{
        grid-template-columns:1fr;
    }
}

/* JURA-MEMBER-MESSAGING-CSS-V1 */

.jura-private-messages-head,
.jura-conversation-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-bottom:1.5rem;
}

.jura-conversation-list{
    display:grid;
    gap:.75rem;
}

.jura-conversation-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 1.2rem;
    border:1px solid rgba(0,0,0,.09);
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.jura-conversation-item:hover{
    transform:translateY(-1px);
}

.jura-message-preview{
    margin:.45rem 0 0;
}

.jura-unread-badge{
    min-width:28px;
    height:28px;
    padding:0 .45rem;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    background:#222;
    color:#fff;
}

.jura-message-thread{
    display:flex;
    flex-direction:column;
    gap:.8rem;
    margin:1rem 0 2rem;
}

.jura-message-bubble{
    width:min(78%,700px);
    padding:.85rem 1rem;
    border-radius:15px;
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
}

.jura-message-bubble.is-mine{
    align-self:flex-end;
}

.jura-message-bubble.is-theirs{
    align-self:flex-start;
}

.jura-message-author{
    font-weight:700;
    margin-bottom:.35rem;
}

.jura-message-body{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

.jura-message-date{
    margin-top:.45rem;
    font-size:.78rem;
    opacity:.65;
}

.jura-message-compose{
    max-width:850px;
}

.jura-message-compose textarea{
    width:100%;
    resize:vertical;
}

@media(max-width:640px){
    .jura-message-bubble{
        width:92%;
    }
}


/* JURA-FORUM-V1-CSS */

.jura-forum-categories,
.jura-forum-topic-list,
.jura-forum-replies{
    display:grid;
    gap:1rem;
}

.jura-forum-category,
.jura-forum-topic-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.5rem;
    padding:1.25rem;
    border:1px solid rgba(0,0,0,.09);
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.jura-forum-category:hover,
.jura-forum-topic-row:hover{
    transform:translateY(-1px);
}

.jura-forum-category h2{
    margin:0 0 .4rem;
}

.jura-forum-category p{
    margin:0;
}

.jura-forum-count{
    white-space:nowrap;
    font-weight:700;
}

.jura-forum-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-bottom:1.5rem;
}

.jura-forum-topic-title{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.5rem;
    margin-bottom:.35rem;
}

.jura-forum-topic-meta{
    min-width:75px;
    text-align:center;
}

.jura-forum-topic-meta strong,
.jura-forum-topic-meta span{
    display:block;
}

.jura-forum-post{
    margin-bottom:1rem;
    border:1px solid rgba(0,0,0,.09);
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

.jura-forum-original{
    margin-bottom:2rem;
}

.jura-forum-post header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:.8rem 1rem;
    border-bottom:1px solid rgba(0,0,0,.07);
}

.jura-forum-post-body{
    padding:1.2rem;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    line-height:1.65;
}

.jura-forum-post-tools{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.75rem;
}

.jura-link-button{
    border:0;
    padding:0;
    background:transparent;
    text-decoration:underline;
    cursor:pointer;
}

.jura-forum-reply-form{
    margin-top:2rem;
}

.jura-forum-reply-form textarea,
.jura-forum-form textarea{
    width:100%;
    resize:vertical;
}

.jura-forum-admin-grid{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);
    gap:2rem;
    align-items:start;
}

.jura-forum-admin-category{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 0;
    border-bottom:1px solid rgba(0,0,0,.08);
}

.jura-forum-admin-topic-tools{
    margin-top:2rem;
}

@media(max-width:760px){

    .jura-forum-admin-grid{
        grid-template-columns:1fr;
    }

    .jura-forum-category,
    .jura-forum-topic-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .jura-forum-topic-meta{
        text-align:left;
    }

    .jura-forum-topic-meta strong,
    .jura-forum-topic-meta span{
        display:inline;
    }

    .jura-forum-post header{
        align-items:flex-start;
        flex-direction:column;
    }
}



/* JURA-AUTH-CONFIG-V1 */

.jura-login-trigger{
    font:inherit;
    cursor:pointer;
}

.jura-login-overlay{
    position:fixed;
    inset:0;
    z-index:10050;
    padding:24px;
    background:rgba(10,15,25,.58);
    backdrop-filter:blur(5px);
    overflow:auto;
}

.jura-login-overlay:not([hidden]){
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
}

.jura-login-popup{
    position:relative;
    width:min(430px,100%);
    margin-top:76px;
    padding:30px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 30px 80px rgba(0,0,0,.28);
}

.jura-login-popup h2{
    margin-top:.25rem;
}

.jura-login-close{
    position:absolute;
    top:12px;
    right:14px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(0,0,0,.06);
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.jura-login-popup-form{
    display:grid;
    gap:16px;
    margin-top:22px;
}

.jura-login-popup-form label{
    display:grid;
    gap:7px;
}

.jura-login-popup-form input{
    width:100%;
}

.jura-login-register{
    margin-top:20px;
}

.jura-login-fallback{
    margin-top:12px;
    font-size:.9rem;
}

html.jura-login-open{
    overflow:hidden;
}

.jura-auth-settings{
    margin:28px 0;
    padding:22px;
    border:1px solid rgba(0,0,0,.1);
    border-radius:16px;
}

.jura-auth-settings h2{
    margin-top:0;
}

.jura-setting-toggle{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.jura-setting-toggle input{
    margin-top:5px;
}

.jura-setting-toggle span,
.jura-setting-toggle small{
    display:block;
}

.jura-setting-toggle small{
    margin-top:5px;
    opacity:.7;
    line-height:1.5;
}

@media(max-width:700px){
    .jura-login-overlay{
        padding:12px;
    }

    .jura-login-popup{
        margin-top:55px;
        padding:24px;
    }
}


/* JURA-SHOP-V1 */

.jura-shop-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1rem;
}

.jura-shop-categories{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-bottom:2rem;
}

.jura-shop-categories a{
    display:flex;
    gap:.65rem;
    align-items:center;
    padding:.8rem 1rem;
    border:1px solid rgba(0,0,0,.1);
    border-radius:999px;
    text-decoration:none;
}

.jura-shop-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(220px,1fr));
    gap:1.25rem;
}

.jura-shop-card{
    padding:1rem;
    border:1px solid rgba(0,0,0,.09);
    border-radius:18px;
    background:#fff;
}

.jura-shop-card img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:13px;
    margin-bottom:1rem;
}

.jura-shop-card a{
    color:inherit;
    text-decoration:none;
}

.jura-shop-card h2{
    font-size:1.1rem;
}

.jura-shop-price{
    display:block;
    margin:.65rem 0;
    font-size:1.15rem;
}

.jura-shop-price-large{
    font-size:1.7rem;
}

.jura-shop-product{
    display:grid;
    grid-template-columns:
        minmax(280px,1fr)
        minmax(280px,1fr);
    gap:3rem;
    align-items:start;
}

.jura-shop-product-image{
    width:100%;
    border-radius:20px;
}

.jura-shop-description{
    white-space:pre-wrap;
    line-height:1.7;
    margin:1.5rem 0;
}

.jura-shop-buy{
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:1.5rem;
}

.jura-shop-buy label{
    max-width:130px;
}

.jura-shop-cart-total{
    display:flex;
    justify-content:flex-end;
    padding:1.25rem 0;
    font-size:1.35rem;
}

.jura-shop-admin-preview{
    display:block;
    width:min(260px,100%);
    margin:1rem 0;
    border-radius:14px;
}

@media(max-width:760px){
    .jura-shop-product{
        grid-template-columns:1fr;
        gap:1.5rem;
    }
}



/* ============================================================
   JURA LOGIN POPUP DESIGN V3
   Compact + perfectly centered
   ============================================================ */

.jura-login-overlay:not([hidden]){
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.jura-login-popup{
    position:relative;

    width:min(380px, calc(100vw - 32px));
    max-height:calc(100vh - 40px);

    margin:0;

    padding:26px 28px 24px;

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 24px 70px rgba(0,0,0,.30);

    overflow-y:auto;
}

.jura-login-popup .eyebrow{
    margin:0 0 10px;
    font-size:.72rem;
    letter-spacing:.18em;
}

.jura-login-popup h2{
    margin:0 0 12px;
    font-size:2rem;
    line-height:1.1;
}

.jura-login-popup > .muted{
    margin:0 0 18px;
    font-size:.92rem;
}

.jura-login-popup-form{
    display:grid;
    gap:14px;
    margin-top:0;
}

.jura-login-popup-form label{
    display:grid;
    gap:6px;
    font-size:.86rem;
}

.jura-login-popup-form input{
    width:100%;
    min-height:46px;
    padding:10px 12px;
}

.jura-login-popup-form .button{
    min-height:48px;
    margin-top:4px;
}

.jura-login-close{
    top:12px;
    right:12px;

    width:36px;
    height:36px;

    font-size:22px;
}

.jura-login-register{
    margin:16px 0 0;
    font-size:.86rem;
}

.jura-login-fallback{
    margin:8px 0 0;
    font-size:.80rem;
}


/* Small screens */

@media(max-width:600px){

    .jura-login-overlay:not([hidden]){
        align-items:center;
        justify-content:center;
        padding:12px;
    }

    .jura-login-popup{
        width:min(360px, calc(100vw - 24px));
        max-height:calc(100vh - 24px);

        margin:0;

        padding:24px 20px 20px;

        border-radius:16px;
    }

    .jura-login-popup h2{
        font-size:1.75rem;
    }
}


/* =========================================================
   JURA V1 FINAL UI — 2026-09
   ========================================================= */

/* Public navigation */
.header nav{
    gap:clamp(14px,1.35vw,24px);
}

.header nav > a{
    position:relative;
    padding:10px 1px;
    font-size:.94rem;
    font-weight:650;
    letter-spacing:.01em;
    line-height:1.2;
    text-decoration:none;
}

.header nav > a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:4px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:right .2s ease;
}

.header nav > a:hover::after,
.header nav > a.is-current::after{
    right:0;
}

/* Admin density */
.admin-main{
    min-width:0;
}

.admin-main .form-panel{
    gap:18px;
}

.admin-main .form-grid,
.admin-main .jura-admin-grid{
    gap:16px;
}

.admin-main label{
    gap:7px;
}

.admin-main input:not([type="checkbox"]):not([type="radio"]),
.admin-main select,
.admin-main textarea{
    max-width:100%;
}

.admin-main input[type="checkbox"],
.admin-main input[type="radio"]{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    padding:0 !important;
    margin:2px 0 0 !important;
    flex:0 0 18px;
    accent-color:currentColor;
}

.admin-main .button{
    width:auto;
    min-height:42px;
    padding:10px 17px;
}

.admin-main button.quiet{
    width:auto;
    min-height:34px;
    padding:6px 10px;
}

/* Settings cards */
.jura-auth-settings,
.jura-cms-design-settings,
.admin-branding-box{
    padding:20px !important;
    margin:18px 0 !important;
    border-radius:16px !important;
}

.jura-auth-settings h2,
.jura-cms-design-settings h2,
.admin-branding-box h2{
    margin:0 0 14px;
}

.jura-setting-toggle{
    display:flex !important;
    align-items:flex-start !important;
    gap:11px !important;
    padding:12px 14px !important;
    margin:8px 0 !important;
    min-height:0 !important;
}

.jura-setting-toggle span{
    display:grid;
    gap:3px;
}

.jura-setting-toggle small{
    line-height:1.45;
}

.jura-compact-settings{
    max-width:760px;
}

/* Categories */
.jura-category-panel{
    padding:18px !important;
    margin:18px 0 !important;
    border-radius:16px;
}

.jura-category-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}

.jura-category-head h3{
    margin:0;
}

.jura-category-head a{
    font-size:.88rem;
    font-weight:700;
}

.jura-category-option{
    display:inline-flex !important;
    width:auto !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 11px !important;
    margin:4px 6px 4px 0 !important;
    border:1px solid rgba(0,0,0,.12);
    border-radius:999px;
    cursor:pointer;
}

/* Publishing */
.jura-publication-options{
    display:grid;
    gap:8px;
    margin:8px 0;
}

.jura-compact-check{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding:12px 14px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:12px;
}

.jura-compact-check span{
    display:grid;
    gap:3px;
}

.jura-compact-check small{
    font-weight:400;
    opacity:.72;
}

/* Home featured */
.jura-home-featured{
    padding-top:clamp(48px,7vw,88px);
    padding-bottom:clamp(48px,7vw,88px);
}

.jura-featured-grid,
.jura-featured-products{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.jura-featured-card,
.jura-product-home-card{
    overflow:hidden;
    border:1px solid rgba(0,0,0,.10);
    border-radius:18px;
    background:#fff;
}

.jura-featured-card > img,
.jura-product-home-card img{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

.jura-featured-card > div,
.jura-product-home-card > div{
    padding:18px;
}

.jura-featured-card h3,
.jura-product-home-card h3{
    margin:10px 0 8px;
}

.jura-product-home-card h3 a{
    color:inherit;
    text-decoration:none;
}

.jura-home-products-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin:48px 0 20px;
}

.jura-home-products-head h2{
    margin-bottom:0;
}

@media (max-width:980px){
    .jura-featured-grid,
    .jura-featured-products{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:680px){
    .jura-featured-grid,
    .jura-featured-products{
        grid-template-columns:1fr;
    }

    .jura-category-head,
    .jura-home-products-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .jura-category-option{
        display:flex !important;
    }

    .admin-main .form-grid,
    .admin-main .jura-admin-grid{
        grid-template-columns:1fr !important;
    }
}


/* =========================================================
   JURA V1 — HEADER FINAL RESPONSIVE FIX
   Guest + authenticated / browser 100%
   ========================================================= */

/*
 * Keep the desktop header inside its available width.
 * Navigation may compress, account controls must not overflow.
 */
.header{
    width:100%;
    min-width:0;
}

.header .brand{
    flex:0 0 auto;
}

.header nav{
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    justify-content:flex-end;
}

.header nav > a{
    flex:0 0 auto;
}

/* Guest authentication block */
.guest-actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    min-width:max-content;
    white-space:nowrap;
}

.register-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:42px;
    padding:8px 4px;
    white-space:nowrap;
    font-size:.82rem;
    font-weight:700;
}

.login-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    gap:7px;

    min-height:46px;
    width:auto;
    max-width:none;

    padding:9px 14px;
    margin:0;

    white-space:nowrap;
    line-height:1;

    background:transparent;
    color:inherit;
    border:1px solid var(--orange);
    border-radius:0;
}

/*
 * Intermediate desktop widths:
 * preserve every menu item, but recover horizontal space.
 */
@media (max-width:1280px) and (min-width:981px){

    .wrap.header{
        width:min(1180px,calc(100% - 40px));
    }

    .header{
        gap:18px;
    }

    .header .brand{
        gap:8px;
        font-size:26px;
    }

    .header .brand img{
        width:54px;
        height:54px;
    }

    .header nav{
        gap:15px;
    }

    .header nav > a{
        font-size:.88rem;
        letter-spacing:0;
    }

    .guest-actions{
        gap:7px;
    }

    .register-link{
        font-size:.76rem;
        padding-inline:2px;
    }

    .login-link{
        min-height:44px;
        padding:8px 11px;
        font-size:.86rem;
    }
}

/*
 * Tighter desktop/notebook widths.
 * Still keep the full desktop navigation where possible.
 */
@media (max-width:1120px) and (min-width:981px){

    .wrap.header{
        width:calc(100% - 28px);
    }

    .header{
        gap:13px;
    }

    .header .brand{
        font-size:24px;
    }

    .header .brand img{
        width:50px;
        height:50px;
    }

    .header nav{
        gap:11px;
    }

    .header nav > a{
        font-size:.82rem;
    }

    .guest-actions{
        gap:5px;
    }

    .register-link{
        font-size:.72rem;
    }

    .login-link{
        padding:8px 9px;
        font-size:.80rem;
    }
}

/*
 * At genuinely small widths use the site's mobile navigation
 * rather than allowing horizontal overflow.
 */
@media (max-width:980px){

    .header{
        min-height:82px;
    }

    .header nav{
        min-width:initial;
    }

    .guest-actions{
        min-width:0;
    }
}

/* Never create horizontal page overflow from the header. */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}


/* =========================================================
   JURA V1 — REGISTER CONSENT FINAL ALIGNMENT
   ========================================================= */

.register-page .privacy-consent,
.register-page .consent-check,
.register-page label:has(input[type="checkbox"][name*="consent"]),
.register-page label:has(input[type="checkbox"][name*="privacy"]),
.register-page label:has(input[type="checkbox"][name*="terms"]){
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:12px !important;

    width:100% !important;
    min-height:0 !important;

    margin:0 !important;
    padding:18px 20px !important;

    line-height:1.5 !important;
}

/* The checkbox itself must never inherit the large input styles. */
.register-page input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:checkbox !important;

    display:block !important;
    flex:0 0 18px !important;

    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    max-height:18px !important;

    margin:3px 0 0 0 !important;
    padding:0 !important;

    border:initial !important;
    border-radius:2px !important;

    cursor:pointer;
}

/* Consent text */
.register-page .privacy-consent span,
.register-page .consent-check span,
.register-page label:has(input[type="checkbox"]) > span{
    display:block;
    flex:1 1 auto;
    min-width:0;

    margin:0 !important;
    padding:0 !important;

    font-size:.92rem;
    line-height:1.55;
}

/*
 * Existing registration form may place the text directly
 * in the label rather than inside a span. Keep that layout
 * compact too.
 */
.register-page label:has(input[type="checkbox"]){
    font-weight:400 !important;
}

/* Privacy link */
.register-page label:has(input[type="checkbox"]) a{
    text-decoration:underline;
    text-underline-offset:3px;
}

/* Remove oversized consent container spacing. */
.register-page .privacy-box,
.register-page .consent-box,
.register-page .register-consent{
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
}

/* Keep submit area visually connected to consent. */
.register-page .privacy-consent + .button,
.register-page .consent-check + .button,
.register-page .register-consent + .button{
    margin-top:22px !important;
}

@media (max-width:680px){

    .register-page .privacy-consent,
    .register-page .consent-check,
    .register-page label:has(input[type="checkbox"][name*="consent"]),
    .register-page label:has(input[type="checkbox"][name*="privacy"]),
    .register-page label:has(input[type="checkbox"][name*="terms"]){
        gap:10px !important;
        padding:15px !important;
    }

    .register-page input[type="checkbox"]{
        margin-top:2px !important;
    }
}


/* =========================================================
   JURA V1 — PUBLIC FORM CHECKBOX FINAL
   Registration / Contact / public consent forms
   ========================================================= */

/*
 * Public forms only.
 * Do NOT modify administration controls.
 */
main form:not(.admin-form) label:has(> input[type="checkbox"]){
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;

    gap:11px !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:14px 0 !important;

    font-weight:400 !important;
    line-height:1.5 !important;
    text-align:left !important;
}

/*
 * Checkbox must never inherit normal text-input dimensions.
 */
main form:not(.admin-form)
label:has(> input[type="checkbox"])
> input[type="checkbox"]{

    appearance:auto !important;
    -webkit-appearance:checkbox !important;

    display:block !important;

    flex:0 0 18px !important;

    width:18px !important;
    height:18px !important;

    min-width:18px !important;
    min-height:18px !important;

    max-width:18px !important;
    max-height:18px !important;

    margin:3px 0 0 !important;
    padding:0 !important;

    cursor:pointer;
}

/*
 * When the consent sentence is wrapped in a span.
 */
main form:not(.admin-form)
label:has(> input[type="checkbox"])
> span{
    display:block !important;

    flex:1 1 auto !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    line-height:1.5 !important;
}

/*
 * Privacy links remain clearly identifiable.
 */
main form:not(.admin-form)
label:has(> input[type="checkbox"]) a{
    display:inline !important;
    text-decoration:underline;
    text-underline-offset:3px;
}

/*
 * Known public consent containers:
 * remove the excessive vertical empty area.
 */
.contact-consent,
.register-consent,
.privacy-consent,
.consent-check,
.consent-box,
.privacy-box{
    height:auto !important;
    min-height:0 !important;
}

/*
 * Contact form specifically.
 */
.contact-consent label,
form[action="/contactos"] label:has(> input[type="checkbox"]){
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:11px !important;
}

/*
 * Registration specifically.
 */
.register-page label:has(> input[type="checkbox"]){
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:11px !important;
}

/*
 * Mobile.
 */
@media (max-width:680px){

    main form:not(.admin-form)
    label:has(> input[type="checkbox"]){
        gap:10px !important;
        padding:12px 0 !important;
    }

    main form:not(.admin-form)
    label:has(> input[type="checkbox"])
    > input[type="checkbox"]{
        margin-top:2px !important;
    }
}



/* ==========================================================
   JURA V1 — FINAL ADMIN / STATS / IMAGES
   ========================================================== */

/* Member responsibility creation */
.jura-responsibility-create{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    gap:22px !important;
}

.jura-responsibility-create label{
    margin:0 !important;
}

.jura-responsibility-action{
    display:flex;
    align-items:flex-end;
}

.jura-responsibility-action .button{
    min-height:52px;
    margin:0 !important;
    white-space:nowrap;
}


/* Administrative roles */
.jura-role-selector{
    display:grid;
    gap:10px;
    margin:24px 0;
    padding:22px;
    border:1px solid #d8ddd7;
    border-radius:10px;
    background:#f8f8f4;
}

.jura-role-selector h3{
    margin:0;
}

.jura-role-selector > p{
    margin:0 0 8px;
}

.jura-role-option{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:12px !important;
    margin:0 !important;
    padding:14px 16px !important;
    border:1px solid #d6dbd5;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
}

.jura-role-option:hover{
    border-color:#173f35;
}

.jura-role-option:has(input:checked){
    border-color:#173f35;
    box-shadow:0 0 0 1px #173f35;
    background:#f0f5f1;
}

.jura-role-option input[type="radio"]{
    flex:0 0 18px !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    margin:3px 0 0 !important;
}

.jura-role-option span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.jura-role-option strong{
    color:#123f35;
}

.jura-role-option small{
    color:#65766f;
    line-height:1.45;
}


/* Footer logo must form one horizontal identity */
.jura-footer-brand{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
}

.jura-footer-brand-mark{
    display:block;
    width:54px !important;
    height:54px !important;
    max-width:54px !important;
    object-fit:contain !important;
    margin:0 !important;
}


/* Settings image previews */
.jura-image-current{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    min-width:0;
    padding:12px;
    border:1px solid #d8ddd7;
    border-radius:8px;
    background:#fff;
}

.jura-image-current > span{
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#65766f;
}

.jura-image-preview{
    display:block;
    width:100%;
    border:1px solid #e0e3df;
    border-radius:6px;
    background:#f6f6f2;
    object-fit:contain;
}

.jura-image-preview-logo{
    max-width:300px;
    height:120px;
}

.jura-image-preview-wide{
    max-width:520px;
    height:190px;
}

.jura-image-preview-banner{
    max-width:520px;
    height:150px;
}

.admin-branding-box .admin-preview{
    display:block !important;
    max-width:360px !important;
    max-height:180px !important;
    object-fit:contain !important;
    margin:10px 0 20px !important;
    padding:8px;
    border:1px solid #d8ddd7;
    background:#fff;
}

.admin-branding-box .admin-preview-small{
    width:80px !important;
    height:80px !important;
}

.branding-flags-preview{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin:10px 0 22px;
}

.branding-flags-preview img{
    display:block !important;
    width:100px !important;
    height:65px !important;
    object-fit:contain !important;
    padding:6px;
    border:1px solid #d8ddd7;
    border-radius:6px;
    background:#fff;
}


/* Statistics */
.jura-statistics-page{
    background:#f4f2ea;
}

.jura-statistics-wrap{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
}

.jura-statistics-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:26px;
}

.jura-statistics-head h1{
    margin:.15em 0;
    font-size:clamp(2.2rem,5vw,4.4rem);
    line-height:.95;
}

.jura-statistics-intro{
    max-width:720px;
}

.jura-periods{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:24px;
}

.jura-periods a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:82px;
    min-height:42px;
    padding:8px 15px;
    border:1px solid #d4d9d3;
    border-radius:999px;
    background:#fff;
    color:#173f35;
    font-size:.88rem;
    font-weight:800;
    text-decoration:none;
}

.jura-periods a.is-active{
    border-color:#173f35;
    background:#173f35;
    color:#fff;
}

.jura-stat-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:20px;
}

.jura-stat-card{
    display:flex;
    align-items:center;
    gap:15px;
    min-height:132px;
    padding:22px;
    border:1px solid #daddd7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 25px rgba(20,50,42,.045);
}

.jura-stat-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 48px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#f2e7dc;
    color:#df3d2e;
    font-size:1.25rem;
    font-weight:900;
}

.jura-stat-card > div:last-child{
    display:flex;
    flex-direction:column;
}

.jura-stat-card span{
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#6d7c75;
}

.jura-stat-card strong{
    margin:2px 0;
    color:#173f35;
    font-size:2rem;
    line-height:1.1;
}

.jura-stat-card small{
    color:#75837d;
}

.jura-stat-panel{
    padding:24px;
    border:1px solid #daddd7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 25px rgba(20,50,42,.04);
}

.jura-stat-panel + .jura-stat-panel{
    margin-top:20px;
}

.jura-stat-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.jura-stat-panel-head h2{
    margin:3px 0 0;
    font-size:1.55rem;
}

.jura-stat-kicker{
    color:#df3d2e;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.13em;
}

.jura-chart-legend{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    font-size:.8rem;
    color:#66766f;
}

.jura-chart-legend span{
    display:flex;
    align-items:center;
    gap:6px;
}

.jura-chart-legend i{
    width:9px;
    height:9px;
    border-radius:50%;
}

.jura-chart-legend .views{
    background:#173f35;
}

.jura-chart-legend .clicks{
    background:#df3d2e;
}

.jura-chart{
    display:flex;
    align-items:stretch;
    gap:5px;
    height:270px;
    padding:22px 8px 0;
    overflow-x:auto;
    border-top:1px solid #edf0ec;
    background:
        linear-gradient(
            to bottom,
            transparent 24%,
            #edf0ec 25%,
            transparent 26%,
            transparent 49%,
            #edf0ec 50%,
            transparent 51%,
            transparent 74%,
            #edf0ec 75%,
            transparent 76%
        );
}

.jura-chart-column{
    display:flex;
    flex:1 0 24px;
    min-width:24px;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    height:100%;
}

.jura-chart-bars{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:2px;
    width:100%;
    height:220px;
}

.jura-chart-bar{
    display:block;
    width:min(9px,42%);
    min-height:3px;
    border-radius:4px 4px 1px 1px;
}

.jura-chart-bar.views{
    background:#173f35;
}

.jura-chart-bar.clicks{
    background:#df3d2e;
}

.jura-chart-column small{
    display:block;
    margin-top:7px;
    font-size:.64rem;
    color:#7a8782;
    white-space:nowrap;
    transform:rotate(-45deg);
    transform-origin:center;
}

.jura-stat-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin:20px 0;
}

.jura-stat-grid .jura-stat-panel{
    margin:0 !important;
}

.jura-ranking{
    display:grid;
    gap:15px;
}

.jura-ranking-row{
    min-width:0;
}

.jura-ranking-meta{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin-bottom:6px;
}

.jura-ranking-number{
    color:#9aa49f;
    font-size:.72rem;
    font-weight:800;
}

.jura-ranking-label{
    overflow:hidden;
    color:#244b41;
    font-size:.88rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.jura-ranking-meta strong{
    color:#173f35;
}

.jura-ranking-track{
    height:6px;
    margin-left:42px;
    overflow:hidden;
    border-radius:99px;
    background:#edf0ec;
}

.jura-ranking-track span{
    display:block;
    height:100%;
    border-radius:99px;
    background:#173f35;
}

.jura-ranking-clicks .jura-ranking-track span{
    background:#df3d2e;
}

.jura-stat-empty{
    padding:28px;
    border:1px dashed #d3d8d3;
    border-radius:8px;
    color:#6d7b75;
    text-align:center;
}

.jura-stat-table{
    width:100%;
    border-collapse:collapse;
}

.jura-stat-table th,
.jura-stat-table td{
    padding:13px 12px;
    border-bottom:1px solid #edf0ec;
    text-align:left;
}

.jura-stat-table th{
    color:#687871;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.jura-stat-table th:nth-child(n+2),
.jura-stat-table td:nth-child(n+2){
    text-align:right;
}

@media(max-width:900px){

    .jura-stat-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .jura-stat-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:680px){

    .jura-responsibility-create{
        grid-template-columns:1fr !important;
        align-items:stretch !important;
    }

    .jura-responsibility-action .button{
        width:100%;
    }

    .jura-statistics-wrap{
        width:min(100% - 24px,1180px);
    }

    .jura-statistics-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .jura-stat-cards{
        grid-template-columns:1fr;
    }

    .jura-stat-panel{
        padding:17px;
    }

    .jura-stat-panel-head{
        flex-direction:column;
    }

    .jura-chart{
        height:240px;
    }

    .jura-chart-bars{
        height:190px;
    }

}


/* ==========================================================
   END JURA V1 FINAL UI
   ========================================================== */


/* JURA-PAYMENT-FRAMEWORK-V1 */

.jura-payment-admin{
    margin-top:24px;
}

.jura-payment-admin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}

.jura-payment-admin-card{
    padding:18px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:16px;
    background:#fff;
}

.jura-payment-admin-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}

.jura-payment-admin-card label:not(.check){
    display:block;
    margin-top:12px;
}

.jura-payment-admin-card input[type="text"],
.jura-payment-admin-card input[type="password"],
.jura-payment-admin-card input:not([type]),
.jura-payment-admin-card select,
.jura-payment-admin-card textarea{
    width:100%;
    margin-top:6px;
}

.jura-checkout-payment{
    margin-top:24px;
}

.jura-payment-options{
    display:grid;
    gap:12px;
    margin-top:14px;
}

.jura-payment-option{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:15px;
    border:1px solid rgba(0,0,0,.13);
    border-radius:14px;
    cursor:pointer;
}

.jura-payment-option input{
    margin-top:4px;
}

.jura-payment-option span{
    display:grid;
    gap:3px;
}

.jura-payment-option small{
    opacity:.72;
}

.jura-order-payment{
    margin:12px 0 20px;
    padding:13px 16px;
    border-radius:12px;
    background:rgba(0,0,0,.045);
}

.jura-payment-status{
    font-weight:700;
}

@media(max-width:760px){

    .jura-payment-admin-grid{
        grid-template-columns:1fr;
    }
}

/* JURA-SHOP-ORDER-MANAGEMENT-V1 */

.jura-order-admin-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}

.jura-order-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.jura-status-pill{
    display:inline-flex;
    gap:6px;
    align-items:center;
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--paper);
    font-size:12px;
}

.jura-order-workflow{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    margin:25px 0 35px;
}

.jura-order-step{
    min-height:100px;
    padding:17px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--sand);
}

.jura-order-step span{
    display:block;
    margin-bottom:20px;
    color:var(--orange);
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
}

.jura-order-step strong{
    display:block;
    font-size:13px;
}

.jura-order-admin-grid,
.jura-order-customer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-bottom:22px;
}

.jura-order-panel{
    padding:28px;
    margin-bottom:22px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--paper);
}

.jura-order-panel h2{
    font-size:24px;
}

.jura-contact-list{
    display:grid;
    gap:16px;
}

.jura-contact-list>div{
    padding:16px;
    border-radius:14px;
    background:var(--sand);
}

.jura-contact-list small{
    display:block;
    margin-bottom:4px;
    color:var(--muted);
}

.jura-contact-list strong{
    display:block;
    overflow-wrap:anywhere;
    margin-bottom:10px;
}

.jura-contact-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.jura-small-button{
    min-height:auto;
    padding:9px 12px;
    font-size:11px;
}

.jura-order-management{
    border-left:4px solid var(--orange);
}

.jura-order-total{
    margin-top:25px;
    text-align:right;
}

.jura-payment-message{
    display:flex;
    gap:20px;
    padding:25px;
    margin-bottom:30px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--sand);
}

.jura-payment-message.success{
    background:#e3edcf;
}

.jura-payment-message h2{
    margin-bottom:10px;
}

.jura-payment-message p:last-child{
    margin-bottom:0;
}

.jura-payment-icon{
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--ink);
    color:#fff;
    font-size:20px;
    font-weight:900;
}

@media(max-width:850px){

    .jura-order-admin-head{
        display:block;
    }

    .jura-order-badges{
        margin-top:18px;
    }

    .jura-order-workflow{
        grid-template-columns:1fr;
    }

    .jura-order-step{
        min-height:auto;
    }

    .jura-order-admin-grid,
    .jura-order-customer-grid{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   JURA APPEARANCE + SMART MENU V3
   ============================================================ */

:root{
    --jura-red:#c91422;
    --jura-green:#173e35;
    --jura-header-height:100px;
}


/* ---------- TOP ALIGNMENT ---------- */

.topline .wrap,
.header{
    width:min(1180px,calc(100% - 64px));
    margin-inline:auto;
}

.topline .wrap{
    min-height:28px;
    align-items:center;
}

.country-branding{
    display:flex;
    align-items:center;
    gap:8px;
}

.country-branding img{
    width:22px;
    height:14px;
    object-fit:cover;
    border-radius:2px;
}

.header{
    min-height:96px;
}

.header .brand{
    margin:0;
}


/* ---------- SMART NAV ---------- */

.header .jura-smart-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    min-width:0;
}

.jura-smart-nav > a,
.jura-nav-group{
    flex:0 0 auto;
}

.jura-smart-nav > a,
.jura-nav-parent{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid transparent;
    border-radius:12px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.jura-smart-nav > a:hover,
.jura-nav-parent:hover,
.jura-smart-nav > a.is-current,
.jura-nav-parent.is-current{
    text-decoration:none;
    border-color:rgba(23,62,53,.14);
    background:rgba(23,62,53,.055);
}

.jura-smart-nav > a:hover,
.jura-nav-parent:hover{
    transform:translateY(-1px);
}

.jura-nav-group{
    position:relative;
    display:flex;
    align-items:center;
}

.jura-nav-parent{
    padding-right:7px;
}

.jura-nav-arrow{
    width:28px;
    height:40px;
    display:grid;
    place-items:center;
    padding:0;
    margin:0;
    border:0;
    border-radius:10px;
    background:transparent;
    color:inherit;
    font-size:16px;
    line-height:1;
}

.jura-nav-arrow:hover{
    background:rgba(23,62,53,.07);
}

.jura-nav-dropdown{
    position:absolute;
    top:calc(100% + 13px);
    left:0;
    z-index:100;
    width:300px;
    padding:12px;
    background:rgba(255,253,248,.98);
    color:#173e35;
    border:1px solid rgba(23,62,53,.12);
    border-radius:20px;
    box-shadow:
        0 22px 55px rgba(7,28,23,.16),
        0 4px 14px rgba(7,28,23,.08);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(7px);
    transition:
        opacity .16s ease,
        transform .16s ease,
        visibility .16s ease;
}

.jura-nav-group.is-open >
.jura-nav-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}

.jura-nav-dropdown::before{
    content:"";
    position:absolute;
    top:-8px;
    left:25px;
    width:15px;
    height:15px;
    background:inherit;
    border-left:1px solid rgba(23,62,53,.12);
    border-top:1px solid rgba(23,62,53,.12);
    transform:rotate(45deg);
}

.jura-nav-dropdown-wide{
    width:380px;
}

.jura-nav-dropdown-media{
    width:610px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.jura-nav-dropdown-column{
    min-width:0;
}

.jura-nav-dropdown-column +
.jura-nav-dropdown-column{
    border-left:1px solid rgba(23,62,53,.1);
    padding-left:10px;
}

.jura-nav-dropdown-head{
    padding:10px 12px 12px;
    margin-bottom:4px;
}

.jura-nav-dropdown-head small{
    display:block;
    margin-bottom:4px;
    color:#c91422;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.5px;
}

.jura-nav-dropdown-head strong{
    display:block;
    font-size:17px;
    letter-spacing:-.4px;
}

.jura-nav-dropdown > a,
.jura-nav-dropdown-column > a{
    display:flex !important;
    align-items:center;
    gap:11px;
    width:100%;
    padding:10px 11px !important;
    margin:2px 0;
    border-radius:12px;
    color:#173e35 !important;
    text-decoration:none !important;
    white-space:normal !important;
}

.jura-nav-dropdown > a:hover,
.jura-nav-dropdown-column > a:hover{
    background:#f0eee5;
}

.jura-nav-dropdown > a > span,
.jura-nav-dropdown-column > a > span{
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e8ece5;
    font-size:11px;
    font-weight:900;
}

.jura-nav-dropdown a div{
    min-width:0;
}

.jura-nav-dropdown a strong{
    display:block;
    font-size:12px;
    line-height:1.3;
}

.jura-nav-dropdown a small{
    display:block;
    margin-top:2px;
    color:#697870;
    font-size:9px;
    line-height:1.35;
}

.jura-nav-empty{
    padding:10px 12px;
    color:#77827c;
    font-size:10px;
}

.jura-nav-view-all{
    margin-top:8px !important;
    border-top:1px solid rgba(23,62,53,.1);
    border-radius:0 0 11px 11px !important;
    font-weight:900 !important;
}

.jura-nav-shop{
    border-color:rgba(201,20,34,.24) !important;
}

.jura-nav-shop:hover,
.jura-nav-shop.is-current{
    background:#c91422 !important;
    border-color:#c91422 !important;
    color:white !important;
}


/* ---------- ACCOUNT ALIGNMENT ---------- */

.header .user-menu,
.header .guest-actions{
    flex:0 0 auto;
}

.header .user-menu summary{
    min-height:42px;
}

.header .guest-actions{
    display:flex;
    align-items:center;
    gap:7px;
}


/* ---------- FOOTER ---------- */

footer{
    background:#102f28;
    color:#f6f2e7;
}

footer::before{
    background:
        linear-gradient(
            90deg,
            #c91422 0 38%,
            #173e35 38% 70%,
            #d9b531 70% 100%
        ) !important;
}

footer .jura-footer-brand{
    filter:none !important;
    text-shadow:none !important;
}

footer .jura-footer-brand-mark{
    border-radius:10px;
}

.footer-grid h3{
    color:#fff;
}

.footer-grid a:hover{
    color:#fff;
}


/* ---------- FUTURISTIC EXTRA POLISH ---------- */

html[data-appearance="futuristic"]
.jura-smart-nav > a,
html[data-appearance="futuristic"]
.jura-nav-parent{
    border-radius:14px;
    border-color:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
}

html[data-appearance="futuristic"]
.jura-nav-dropdown{
    border-color:rgba(255,255,255,.12);
    box-shadow:
        0 25px 70px rgba(0,0,0,.22),
        0 0 35px rgba(217,181,49,.06);
}

html[data-appearance="futuristic"]
.jura-nav-shop{
    box-shadow:
        0 8px 24px rgba(201,20,34,.13);
}


/* ---------- ADMIN APPEARANCE ---------- */

.jura-appearance-admin{
    margin:0 0 32px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            rgba(23,62,53,.045),
            rgba(201,20,34,.025)
        );
}

.jura-admin-section-heading{
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:flex-start;
}

.jura-admin-section-heading h2{
    margin-top:0 !important;
}

.jura-admin-section-heading .muted{
    max-width:420px;
}

.jura-appearance-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.jura-appearance-choice{
    position:relative;
    display:block;
    margin:0;
    padding:15px;
    border:2px solid var(--line);
    border-radius:18px;
    cursor:pointer;
    background:var(--paper);
}

.jura-appearance-choice:has(input:checked){
    border-color:#173e35;
    box-shadow:0 0 0 3px rgba(23,62,53,.08);
}

.jura-appearance-choice input{
    position:absolute;
    top:13px;
    right:13px;
    width:18px;
    min-height:18px;
    margin:0;
}

.jura-appearance-preview{
    height:100px;
    display:grid;
    grid-template-columns:30% 1fr;
    grid-template-rows:22px 1fr;
    gap:6px;
    margin-bottom:13px;
    padding:10px;
    border-radius:12px;
    overflow:hidden;
}

.jura-appearance-preview span:first-child{
    grid-column:1/-1;
}

.jura-appearance-preview span{
    border-radius:6px;
}

.jura-appearance-preview-normal{
    background:#f4f1e8;
}

.jura-appearance-preview-normal span{
    background:#173e35;
}

.jura-appearance-preview-normal
span:last-child{
    background:#dce4ac;
}

.jura-appearance-preview-future{
    background:
        radial-gradient(
            circle at 75% 20%,
            #275848,
            #071d17 65%
        );
}

.jura-appearance-preview-future span{
    background:
        linear-gradient(
            135deg,
            #c91422,
            #e97848
        );
    box-shadow:0 0 15px rgba(233,120,72,.3);
}

.jura-appearance-preview-future
span:last-child{
    background:#173e35;
}

.jura-appearance-choice > strong{
    display:block;
    margin-bottom:5px;
    font-size:14px;
}

.jura-appearance-choice > small{
    display:block;
    max-width:330px;
    color:var(--muted);
    font-size:11px;
}

.jura-appearance-note{
    margin:16px 0 0;
    font-size:11px;
    color:var(--muted);
}


/* ---------- TABLET ---------- */

@media(max-width:1100px) and (min-width:901px){

    .header{
        gap:12px;
    }

    .header .jura-smart-nav{
        gap:3px;
    }

    .jura-smart-nav > a,
    .jura-nav-parent{
        padding-left:8px;
        padding-right:6px;
        font-size:10px;
    }

    .jura-nav-arrow{
        width:22px;
    }

    .jura-nav-dropdown-media{
        left:auto;
        right:0;
    }

}


/* ---------- MOBILE ---------- */

@media(max-width:900px){

    .topline .wrap,
    .header{
        width:calc(100% - 36px);
    }

    .header .jura-smart-nav{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        width:100%;
        max-height:calc(100vh - 100px);
        overflow:auto;
        padding:16px;
        background:var(--paper);
        border-top:1px solid var(--line);
        border-bottom:1px solid var(--line);
        grid-template-columns:1fr;
        gap:7px;
    }

    .header .jura-smart-nav.open{
        display:grid;
    }

    .jura-smart-nav > a{
        justify-content:flex-start;
        width:100%;
        min-height:46px;
        padding:0 14px;
        border:1px solid var(--line);
    }

    .jura-nav-group{
        display:grid;
        grid-template-columns:1fr 44px;
        width:100%;
        border:1px solid var(--line);
        border-radius:14px;
    }

    .jura-nav-parent{
        justify-content:flex-start;
        min-height:46px;
        padding:0 14px;
        border:0;
    }

    .jura-nav-arrow{
        width:44px;
        height:46px;
        border-left:1px solid var(--line);
        border-radius:0 13px 13px 0;
    }

    .jura-nav-dropdown,
    .jura-nav-dropdown-wide,
    .jura-nav-dropdown-media{
        position:static;
        grid-column:1/-1;
        width:auto;
        margin:0 8px 8px;
        padding:8px;
        display:none;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:none;
        box-shadow:none;
        border-radius:12px;
    }

    .jura-nav-group.is-open >
    .jura-nav-dropdown{
        display:block;
    }

    .jura-nav-group.is-open >
    .jura-nav-dropdown-media{
        display:grid;
        grid-template-columns:1fr;
    }

    .jura-nav-dropdown::before{
        display:none;
    }

    .jura-nav-dropdown-column +
    .jura-nav-dropdown-column{
        border-left:0;
        border-top:1px solid rgba(23,62,53,.1);
        padding-left:0;
        padding-top:8px;
        margin-top:8px;
    }

    .jura-appearance-options{
        grid-template-columns:1fr;
    }

    .jura-admin-section-heading{
        display:block;
    }

}


@media(max-width:620px){

    .topline .wrap{
        gap:12px;
    }

    .topline .wrap > span:last-child{
        text-align:right;
    }

    .jura-shop-buy{
        grid-template-columns:1fr;
    }

    .jura-shop-buy input,
    .jura-shop-buy .button{
        width:100%;
    }

}



/* ============================================================
   JURA V1 FINAL GEOMETRIC NORMAL
   ============================================================ */

:root{
    --jura-green:#155f3d;
    --jura-green-deep:#0d432c;
    --jura-green-soft:#e9f1ec;
    --jura-gold:#b58a2b;
    --jura-gold-soft:#d8bd76;
    --jura-ink:#17241d;
    --jura-paper:#f7f9f7;
}


/*
 * Global geometric atmosphere — NORMAL.
 */

body{
    position:relative;
    overflow-x:hidden;
    background:
        linear-gradient(
            125deg,
            rgba(21,95,61,.045) 0 12%,
            transparent 12% 34%,
            rgba(181,138,43,.035) 34% 43%,
            transparent 43% 100%
        ),
        radial-gradient(
            circle at 7% 13%,
            rgba(21,95,61,.07),
            transparent 23rem
        ),
        radial-gradient(
            circle at 94% 35%,
            rgba(181,138,43,.055),
            transparent 25rem
        ),
        var(--bg,#f7f9f7);
}


/*
 * Fixed decorative geometry.
 */

body::before{
    content:"";
    position:fixed;
    z-index:-2;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(
            30deg,
            transparent 0 47%,
            rgba(21,95,61,.025) 47% 49%,
            transparent 49% 100%
        ),
        linear-gradient(
            150deg,
            transparent 0 66%,
            rgba(181,138,43,.025) 66% 68%,
            transparent 68% 100%
        );

    background-size:
        210px 210px,
        290px 290px;
}


/*
 * Header/menu graphic layer.
 */

header{
    position:relative;
    isolation:isolate;
    overflow:visible;
}

header::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;

    background:
        linear-gradient(
            118deg,
            rgba(21,95,61,.075) 0 11%,
            transparent 11% 23%,
            rgba(181,138,43,.06) 23% 31%,
            transparent 31% 72%,
            rgba(21,95,61,.045) 72% 82%,
            transparent 82%
        ),
        radial-gradient(
            circle at 13% 0,
            rgba(181,138,43,.09),
            transparent 12rem
        );
}

header::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:4%;
    top:7px;
    width:160px;
    height:62px;

    opacity:.34;

    clip-path:polygon(
        0 48%,
        22% 0,
        60% 12%,
        100% 0,
        82% 57%,
        100% 100%,
        47% 84%,
        12% 100%
    );

    background:
        linear-gradient(
            135deg,
            rgba(21,95,61,.16),
            rgba(181,138,43,.10)
        );

    pointer-events:none;
}


/*
 * Classic menu remains classic, but becomes visual.
 */

#nav{
    position:relative;
    z-index:3;
}

#nav > a{
    position:relative;
    border-radius:9px;
    transition:
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

#nav > a::before{
    content:"";
    position:absolute;
    left:14%;
    right:14%;
    bottom:3px;
    height:2px;

    transform:scaleX(0);

    background:
        linear-gradient(
            90deg,
            var(--jura-green),
            var(--jura-gold)
        );

    transition:transform .18s ease;
}

#nav > a:hover{
    background:
        linear-gradient(
            135deg,
            rgba(21,95,61,.07),
            rgba(181,138,43,.055)
        );

    transform:translateY(-1px);
}

#nav > a:hover::before{
    transform:scaleX(1);
}


/*
 * Top bar and header share exactly the same axis.
 */

.topline > .wrap,
header > .wrap.header{
    width:min(
        var(--wrap,1180px),
        calc(100% - 32px)
    );

    margin-inline:auto;
}


/*
 * Cards/forms geometric identity.
 */

.card,
.panel,
.form-panel,
.auth-card,
.shop-card,
.product-card{
    position:relative;
    overflow:hidden;
    border-radius:15px;
}

.card::before,
.panel::before,
.form-panel::before,
.auth-card::before,
.shop-card::before,
.product-card::before{
    content:"";
    position:absolute;
    z-index:0;
    top:-45px;
    right:-55px;

    width:135px;
    height:115px;

    opacity:.08;

    clip-path:polygon(
        50% 0,
        100% 27%,
        82% 100%,
        15% 82%,
        0 24%
    );

    background:
        linear-gradient(
            135deg,
            var(--jura-green),
            var(--jura-gold)
        );

    pointer-events:none;
}

.card > *,
.panel > *,
.form-panel > *,
.auth-card > *,
.shop-card > *,
.product-card > *{
    position:relative;
    z-index:1;
}

input,
select,
textarea{
    border-radius:10px !important;
}

.button,
.btn,
button{
    border-radius:10px;
}


/*
 * Footer: institutional palette, geometric detail.
 */

footer{
    position:relative;
    overflow:hidden;
}

footer::before{
    content:"";
    position:absolute;
    right:-70px;
    bottom:-95px;

    width:300px;
    height:260px;

    opacity:.08;

    clip-path:polygon(
        50% 0,
        100% 24%,
        88% 78%,
        52% 100%,
        0 75%,
        13% 19%
    );

    background:
        linear-gradient(
            135deg,
            var(--jura-gold),
            var(--jura-green)
        );

    pointer-events:none;
}


/*
 * Responsive.
 */

@media(max-width:900px){

    header::after{
        opacity:.18;
        width:100px;
    }

    body::before{
        background-size:
            150px 150px,
            210px 210px;
    }
}

/* ==========================================================
   JURA V1 FINAL FREEZE
   ========================================================== */

/* Dark mode is no longer part of V1. */
.jura-theme-toggle,
.theme-toggle,
#theme-toggle,
[data-theme-toggle] {
    display: none !important;
}

/* Header remains visible while browsing. */
header {
    position: sticky;
    top: 0;
    z-index: 80;
}

/* Rich HTML must render as HTML rather than preformatted text. */
.prose {
    white-space: normal;
}

.prose p {
    margin: 0 0 1.25em;
}

.prose ul,
.prose ol {
    margin: 0 0 1.25em;
    padding-left: 2em;
}

.prose img {
    max-width: 100%;
    height: auto;
}

.prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
}

.prose th,
.prose td {
    border: 1px solid var(--line);
    padding: 10px;
}

/* Prevent guest controls from forcing desktop header overflow. */
.header {
    min-width: 0;
}

.header nav {
    min-width: 0;
}

.header .guest-actions {
    flex: 0 0 auto;
}

/* iOS/mobile date input containment. */
.register-page input[type="date"],
.account-profile input[type="date"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

@media (max-width: 900px) {

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-width: 52px;
        min-height: 48px;
        padding: 10px 13px;
        font-size: 14px;
    }

    #nav.open {
        max-height: calc(100vh - 90px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (max-width: 620px) {

    .topline .wrap {
        width: calc(100% - 28px);
    }

    .header {
        width: calc(100% - 28px);
        min-height: 76px;
    }

    .header .brand {
        min-width: 0;
    }

    .header .brand img {
        width: 46px;
        height: 46px;
    }

    .register-page input[type="date"] {
        font-size: 16px;
        min-height: 48px;
    }
}

/* JURA V1 CLEAN HEADER: one responsive system for desktop, zoom and mobile. */
header > .header { position: relative; min-width: 0; }
body > header { position: sticky; top: 0; z-index: 80; }

@media (min-width: 1601px) {
  header > .header { display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; }
  header > .header .brand { flex: 0 0 280px; min-width: 0; margin: 0; }
  header > .header .menu-toggle { display: none !important; }
  header > .header #nav { display: flex !important; position: relative !important; inset: auto !important; flex: 1 1 auto; min-width: 0; width: auto; max-height: none; overflow: visible; margin: 0; justify-content: space-between; gap: clamp(2px, .35vw, 10px); }
  header > .header #nav > a { flex: 0 1 auto; padding-inline: clamp(3px, .3vw, 8px); font-size: clamp(.74rem, .64vw, .94rem); }
  header > .header .guest-actions { display: flex !important; position: static !important; transform: none !important; flex: 0 0 auto; min-width: max-content; margin: 0; white-space: nowrap; visibility: visible !important; opacity: 1 !important; }
  header > .header .user-menu { display: block !important; position: static !important; transform: none !important; flex: 0 0 auto; min-width: max-content; margin: 0; visibility: visible !important; opacity: 1 !important; }
}

@media (max-width: 1600px) {
  header > .header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-height: 76px; padding-block: 10px; }
  header > .header .brand { order: 1; flex: 1 1 auto; min-width: 0; margin: 0; }
  header > .header .menu-toggle { display: inline-flex !important; order: 3; flex: 0 0 auto; min-height: 44px; margin-left: 0; }
  header > .header #nav { display: none !important; position: static !important; order: 4; flex: 0 0 100%; width: 100%; max-height: calc(100dvh - 104px); overflow-y: auto; overscroll-behavior: contain; grid-template-columns: 1fr; gap: 7px; margin: 0; padding: 14px; box-sizing: border-box; }
  header > .header #nav.open { display: grid !important; }
  header > .header #nav > a { width: 100%; min-height: 46px; padding: 0 14px; justify-content: flex-start; box-sizing: border-box; }
  header > .header .guest-actions { display: flex !important; order: 2; flex: 0 0 auto; min-width: 0; margin-left: auto; white-space: nowrap; visibility: visible !important; opacity: 1 !important; }
  header > .header .user-menu { display: block !important; order: 2; flex: 0 0 auto; margin-left: auto; visibility: visible !important; opacity: 1 !important; }
}

@media (max-width: 620px) {
  header > .header .guest-actions, header > .header .user-menu { display: none !important; order: 5; flex: 0 0 100%; width: 100%; margin: 0; padding: 12px 14px; box-sizing: border-box; }
  header > .header #nav.open ~ .guest-actions { display: flex !important; }
  header > .header #nav.open ~ .user-menu { display: block !important; }
}
@media (max-width: 620px) { header > .header .menu-toggle { min-width: 56px; min-height: 52px; padding-inline: 14px; font-size: 1.05rem; } header > .header .menu-toggle span { font-size: 1.55rem; line-height: 1; } }
@media (max-width: 1600px) { header > .header .menu-toggle { min-width: 60px; min-height: 56px; padding: 10px 15px; } header > .header .menu-toggle span { font-size: 2rem; line-height: .85; } }
