/*
Theme Name: 2Sure — No Worries
Author: 2Sure
Description: Responsive 2Sure catalogue and enquiry website. Pair with 2Sure Connect.
Version: 1.2.0
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: twosure
*/
:root{--green:#155b27;--deep:#123e23;--lime:#d9ed8c;--ink:#193425;--muted:#566458;--wash:#f4f7ef;--line:#dce4d7;--white:#fff;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:#fff}button,input,select,textarea{font:inherit}a{color:inherit}img{max-width:100%;display:block}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(3rem,6.5vw,6.5rem);font-weight:750;margin-bottom:24px}h2{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:700;margin-bottom:22px}h3{font-size:1.45rem;letter-spacing:-.025em}.wrap{width:min(1280px,90%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;margin-bottom:18px}.lead{font-size:1.15rem;max-width:570px}.muted{color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 25px;background:var(--green);color:white;border:1px solid var(--green);border-radius:100px;font-weight:700;text-decoration:none;line-height:1.45;min-height:50px}.button.light{background:var(--lime);color:var(--deep);border-color:var(--lime)}.button.outline{background:transparent;color:var(--green);border-color:#94ad99}.button.white{background:white;color:var(--green);border-color:white}.button:disabled{opacity:.6;cursor:wait}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.skip{position:absolute;left:20px;top:-100px;background:white;z-index:50}.skip:focus{top:10px}.topbar{background:var(--deep);color:white;text-align:center;padding:7px 18px;font-size:.8rem;letter-spacing:.08em}.header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:91px;gap:30px}.logo{width:114px;flex-shrink:0}.logo img{width:100%;height:65px;object-fit:contain}.links{display:flex;align-items:center;gap:28px}.links a{text-decoration:none;font-size:.9rem;font-weight:600}.links a:hover{text-decoration:underline;text-underline-offset:6px}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:10px;padding:8px 15px}.hero{padding:55px 0 48px;background:var(--wash);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.hero-copy{padding:25px 0 45px}.hero h1 span{color:var(--green)}.hero .lead{max-width:450px;color:var(--muted)}.hero-art{position:relative;padding-bottom:26px}.family{width:100%;height:590px;object-fit:cover;object-position:center 76%;border-radius:180px 180px 24px 24px}.hero-note{position:absolute;bottom:0;left:-30px;padding:20px 25px;border:1px solid var(--line);border-radius:18px;background:#fff;max-width:250px;box-shadow:0 12px 28px #16352212;font-size:.87rem}.hero-note strong{display:block;font-size:1.1rem;color:var(--green);margin-bottom:3px}.hero-foot{display:flex;gap:22px;margin-top:42px;font-size:.8rem;color:var(--muted)}.hero-foot span+span{border-left:1px solid #bacbbd;padding-left:22px}.range-strip{padding:25px 0;border-bottom:1px solid var(--line)}.range-items{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.88rem;font-weight:700;color:var(--green)}section{scroll-margin-top:100px}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head p{max-width:360px;margin-bottom:0}.catalogue-tools{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:0 0 24px}.search{position:relative;flex:0 1 290px}.search input{width:100%;padding:13px 18px;border:1px solid var(--line);border-radius:100px;background:#fff}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid var(--line);background:#fff;border-radius:100px;padding:10px 16px;font-size:.85rem;color:var(--muted)}.filter[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.result-count{font-size:.85rem;color:var(--muted);margin:12px 0 24px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 23px}.card{min-width:0}.product-visual{position:relative;background:var(--wash);border-radius:var(--radius);height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-visual img{max-height:225px;max-width:80%;object-fit:contain;transition:transform .25s}.card:hover .product-visual img{transform:translateY(-5px)}.product-visual.soap img{max-width:95%}.product-category{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}.card h3{font-size:1.24rem;line-height:1.25;margin:0 0 9px;min-height:3.1em}.sizes{font-size:.88rem;margin-bottom:16px;color:var(--muted)}.card-actions{display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.text-button{padding:0;border:0;background:none;color:var(--green);font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}.card-actions a{font-size:.88rem;color:var(--green);font-weight:700}.caption{font-size:.75rem;margin-top:6px;color:var(--muted);min-height:1.6em}.empty{background:var(--wash);padding:35px;border-radius:20px}.story{background:var(--deep);color:#fff}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story h2{color:var(--lime)}.story p{color:#e2e9e0}.story-points{display:grid;gap:0}.story-point{padding:25px 0;border-bottom:1px solid #ffffff35;display:grid;grid-template-columns:44px 1fr;gap:15px}.story-point .num{font-size:.85rem;color:var(--lime)}.story-point h3{margin-bottom:10px}.story-point p{font-size:.95rem;margin:0}.partner{background:var(--wash)}.partner-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center}.partner-card{background:var(--lime);padding:42px;border-radius:var(--radius)}.partner-card h3{font-size:1.8rem}.partner-card ul{list-style:none;padding:0;margin:30px 0}.partner-card li{padding:12px 0;border-bottom:1px solid #155b2728}.partner-card li::before{content:'✓';margin-right:13px}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start}.contact-copy{position:sticky;top:135px}.contact-copy address{font-style:normal;font-size:.94rem;color:var(--muted);margin-top:32px}.contact-copy address a{color:var(--green)}.contact-form{border:1px solid var(--line);padding:35px;border-radius:24px;box-shadow:0 10px 35px #123e2306}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.87rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid #aebeaf;border-radius:9px;padding:12px;width:100%;background:#fff;color:var(--ink);min-height:49px}.field textarea{resize:vertical}.field small{font-size:.8rem;color:var(--muted)}.conditional{display:contents}.conditional[hidden]{display:none}.consent{display:flex;gap:10px;align-items:start;font-size:.83rem;color:var(--muted);margin:25px 0}.consent input{margin-top:6px;min-width:18px;min-height:18px}.status{font-size:.95rem;margin:20px 0 0;border-radius:10px;padding:12px;background:var(--wash)}.status:empty{display:none}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{padding:48px 0 25px;background:var(--wash);border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-main p{margin:15px 0;font-size:.9rem}.footer-links{display:flex;flex-wrap:wrap;gap:26px;font-size:.9rem}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);gap:20px}.footer-bottom button{font-size:inherit}.modal{border:0;padding:0;border-radius:24px;width:min(860px,92vw);max-height:90vh;box-shadow:0 30px 100px #0004;color:var(--ink)}.modal::backdrop{background:#102418a9}.modal-content{padding:45px}.modal-close{position:absolute;right:17px;top:15px;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:white;z-index:1;font-size:1.2rem}.detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}.detail-image{background:var(--wash);border-radius:20px;padding:25px;min-height:280px;display:flex;align-items:center;justify-content:center}.detail-image img{max-height:300px}.detail-copy h2{font-size:2.4rem}.detail-copy .sizes{font-weight:700}.detail-copy p{font-size:.95rem}.privacy-copy h2{font-size:2rem}.privacy-copy h3{font-size:1.15rem}.privacy-copy p{font-size:.94rem}.preview-bar{background:#fff2c5;text-align:center;padding:9px;font-size:.83rem}.single-content{max-width:900px;margin:60px auto;padding:0 24px}.single-content h1{font-size:3rem}[hidden]{display:none!important}@media(max-width:1050px){.links{gap:18px}.products{grid-template-columns:repeat(3,1fr)}.catalogue-tools{align-items:stretch;flex-direction:column}.search{flex:auto;width:100%}.family{height:510px}.hero-note{left:-10px}.contact-grid{gap:5%;grid-template-columns:.7fr 1.3fr}.contact-form{padding:25px}}@media(max-width:760px){.wrap{width:90%}.section{padding:65px 0}.nav{min-height:78px}.logo{width:95px}.menu-toggle{display:block}.links{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 5%;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.links.open{display:flex}.hero{padding-top:22px}.hero-grid,.story-grid,.partner-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.hero-copy{padding:15px 0 0}.hero h1{font-size:3.8rem;max-width:480px}.hero-foot{margin-top:28px}.family{height:450px;border-radius:120px 120px 24px 24px}.hero-art{max-width:520px;width:100%;margin:auto}.hero-note{left:10px;padding:15px 20px}.range-items{justify-content:start;gap:10px 24px}.section-head{display:block}.section-head p{margin-top:20px;max-width:500px}.products{grid-template-columns:repeat(2,1fr);gap:25px 16px}.product-visual{height:240px}.product-visual img{max-height:195px}.filter{font-size:.8rem;padding:9px 13px}.contact-copy{position:static}.contact-copy address{margin-top:20px}.footer-main{flex-direction:column}.detail-grid{grid-template-columns:1fr}.detail-image{min-height:200px}.detail-image img{max-height:200px}.modal-content{padding:48px 25px 30px}.footer-bottom{flex-direction:column;gap:8px}.partner-card{padding:30px}.story-point{padding-top:0;margin-top:22px}}@media(max-width:420px){h1,.hero h1{font-size:3.15rem}.products{gap:24px 13px}.product-visual{height:205px}.product-visual img{max-height:170px}.card h3{font-size:1.1rem;min-height:3.75em}.card-actions{flex-direction:column;align-items:start;gap:12px}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.contact-form{padding:21px}.family{height:400px}.hero-foot{gap:14px}.hero-foot span+span{padding-left:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}

/* Original pack photographs are displayed whole, without retouching or cropping. */
.product-visual{height:auto;aspect-ratio:2/3;background:#f4f7ef}
.product-visual img,.product-visual.soap img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.card:hover .product-visual img{transform:none}
.detail-image{padding:0;overflow:hidden;min-height:0;aspect-ratio:2/3}
.detail-image img{width:100%;height:100%;max-height:none;object-fit:contain}
.image-placeholder{width:100%;height:100%;padding:24px 15px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#eef5e6,#f9fbf5);border:1px dashed #9cb78e;border-radius:20px;color:var(--green)}
.placeholder-brand{font-size:1.9rem;font-weight:800;letter-spacing:-.06em}
.image-placeholder strong{font-size:1.1rem;line-height:1.3}
.image-placeholder>span:last-child{font-size:.75rem;line-height:1.5;color:var(--muted);max-width:130px}

/* Elementor page: native widget controls own typography and section layout. */
.elementor .elementor-widget-shortcode{width:100%}
.elementor .elementor-widget-container .contact-form{width:100%}
.elementor .elementor-widget-heading p.elementor-heading-title{margin:0}
.elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor .card h3{letter-spacing:-.025em}
.footer .logo{display:inline-flex;width:114px}
.footer .logo img{width:114px;height:65px;object-fit:contain}
