@import url('/assets/fonts/fonts.css'); /* fonty self-hosted (RODO: brak requestów do Google) */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lato',system-ui,sans-serif;background:#F7F3EB;color:#2C2C2C;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
input,select,textarea,button{font-family:'Lato',system-ui,sans-serif}

/* ── BRAND: Fleuria Benelux — zatwierdzona paleta 2026-06-24 ──
   primary #D98B8E · accent #8FA48D · bg #F7F3EB · surface #FFF8F2
   text #2C2C2C · gold (logo) #B8946A · fonty Playfair Display + Lato */
:root{
  --cream:#F7F3EB;--cream-2:#EFE7DA;--cream-3:#E6DBCA;
  --sage:#8FA48D;--sage-d:#6F8568;--sage-p:#E8EEE4;
  --rose:#D98B8E;--rose-2:#ECC3C3;--rose-p:#F8EAE9;
  --ink:#2C2C2C;--ink-2:#565250;--ink-3:#8C8A88;
  --white:#FFFFFF;--surface:#FFF8F2;--border:#E4DBCD;
  --gold:#B8946A;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Lato',system-ui,sans-serif;
  --shadow:0 1px 8px rgba(44,44,44,.07);
  --shadow-lg:0 4px 24px rgba(44,44,44,.12);
}

/* TYPE */
h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.t-hero{font-size:clamp(32px,5vw,64px);line-height:1.05}
.t-h1{font-size:clamp(24px,4vw,48px);line-height:1.1}
.t-h2{font-size:clamp(20px,3vw,36px);line-height:1.15}
.t-h3{font-size:clamp(16px,2vw,24px);line-height:1.2}
.t-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.t-body{font-size:15px;line-height:1.75;color:var(--ink-2)}
.t-small{font-size:13px;line-height:1.6;color:var(--ink-3)}
em{font-style:italic;color:var(--rose)}

/* NAV */
.topnav{position:sticky;top:0;z-index:900;height:72px;padding:0 48px;display:flex;align-items:center;background:rgba(247,243,235,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.topnav-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.brand{display:flex;align-items:center;gap:12px}
.brand-icon{width:38px;height:38px;background:var(--sage-d);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-texts{display:flex;flex-direction:column;gap:2px}
.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1;color:var(--ink)}
.brand-name em{font-style:italic;color:var(--rose)}
.brand-badge{font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--white);background:var(--ink);padding:2px 8px;width:fit-content}
.topnav-links{display:flex;align-items:center;gap:24px}
.topnav-links a{font-size:13px;font-weight:500;color:var(--ink-2);transition:color .15s;letter-spacing:.01em}
.topnav-links a:hover{color:var(--ink)}
.nav-logout{font-size:11px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--ink-3)!important}
.topnav-links a.btn-nav-primary{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:9px 20px;border:1.5px solid var(--ink);color:var(--ink);transition:.2s}
.topnav-links a.btn-nav-primary:hover{background:var(--ink);color:var(--white)}
.cart-link{position:relative}
.cart-badge{position:absolute;top:-6px;right:-10px;background:var(--rose);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;display:flex;align-items:center;justify-content:center}
.lang-switch{display:flex;gap:4px}
.lang-btn{font-size:11px;font-weight:500;color:var(--ink-3);padding:3px 2px;border-bottom:1px solid transparent;transition:.15s}
.lang-btn.active{color:var(--ink);border-color:var(--ink);font-weight:700}

/* LAYOUT */
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.section{padding:80px 48px}
.section-sm{padding:48px 48px}
.section-dark{background:var(--ink);color:var(--white)}
.section-sage{background:var(--sage-p)}
.section-cream{background:var(--cream-2)}
.narrow{max-width:680px;margin:0 auto;padding:60px 24px}
.page-pad{padding:48px 48px 80px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:13px 28px;cursor:pointer;border:none;transition:.2s;text-decoration:none}
/* PRZYCISKI wg brand guide: główny=róż, drugorzędny=róż outline, akcent=sage */
.btn-dark{background:var(--rose);color:var(--white)}
.btn-dark:hover{background:#C2787B}
.btn-light{background:transparent;border:1.5px solid var(--rose);color:var(--rose)}
.btn-light:hover{background:var(--rose);color:var(--white)}
.btn-sage{background:var(--sage);color:var(--white)}
.btn-sage:hover{background:var(--sage-d)}
.btn-cream{background:var(--white);color:var(--ink)}
.btn-cream:hover{background:var(--cream-2)}
.btn-danger{background:transparent;border:1.5px solid var(--rose);color:#b05050}
.btn-danger:hover{background:#b05050;color:#fff}
.btn-full{width:100%}
.btn-sm{padding:8px 18px;font-size:10px}
.list-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.list-toolbar .lt-search{flex:1;min-width:200px;border:1.5px solid var(--border);padding:9px 12px;font-size:13px;font-family:var(--sans);background:var(--white);color:var(--ink)}
.list-toolbar select{border:1.5px solid var(--border);padding:9px 10px;font-size:13px;font-family:var(--sans);background:var(--white);color:var(--ink);cursor:pointer}
.list-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.list-pager .lt-info{font-size:13px;color:var(--ink-3)}
.suggest-wrap{position:relative;flex:1;min-width:200px}
.suggest-wrap .lt-search{width:100%;min-width:0}
.suggest-box{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--white);border:1.5px solid var(--border);box-shadow:0 14px 30px -12px rgba(44,44,44,.28);z-index:60;max-height:300px;overflow-y:auto}
.suggest-item{padding:9px 12px;font-size:13px;color:var(--ink-2);cursor:pointer;border-bottom:1px solid var(--cream-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suggest-item:last-child{border-bottom:none}
.suggest-item:hover,.suggest-item.active{background:var(--cream-2);color:var(--ink)}

/* CARDS */
.card{background:var(--white);border:1px solid var(--border);padding:28px}
.form-card{background:var(--white);border:1px solid var(--border);padding:32px}

/* ALERTS */
.alert{padding:14px 18px;font-size:13.5px;border-left:3px solid;margin-bottom:16px;line-height:1.6}
.alert-success{background:var(--sage-p);border-color:var(--sage-d)}
.alert-error{background:var(--rose-p);border-color:var(--rose)}
.alert-info{background:var(--cream-2);border-color:var(--border)}
.alert-warning{background:#fff8e1;border-color:#f0b429}

/* FORMS */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.form-field.span-2{grid-column:span 2}
.form-field label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.form-field input,.form-field select,.form-field textarea{background:transparent;border:none;border-bottom:1.5px solid var(--border);padding:11px 0;font-size:14px;color:var(--ink);outline:none;transition:border-color .2s;width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--sage-d)}
.form-field textarea{min-height:80px;resize:vertical}
.form-note{font-size:12px;color:var(--ink-3);margin-top:6px}
.radio-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.radio-pill{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:7px 14px;border:1.5px solid var(--border);transition:.15s}
.radio-pill:has(input:checked){border-color:var(--sage-d);background:var(--sage-p)}

/* CHIPS */
.chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px}
.chip-active{background:var(--sage-p);color:var(--sage-d)}
.chip-pending{background:var(--rose-p);color:var(--rose)}
.chip-new{background:var(--cream-2);color:var(--ink-2)}
.chip-shipped{background:#e8f0fb;color:#3a6abf}
.chip-danger{background:#fbe8e8;color:#b05050}
.chip-paid{background:var(--sage-p);color:var(--sage-d)}

/* EYEBROW */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-d);background:var(--sage-p);padding:5px 14px;margin-bottom:16px}

/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}
.product-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px;cursor:pointer;transition:background .2s;display:block;color:inherit}
.product-card:nth-child(4n){border-right:none}
.product-card:hover{background:var(--cream-2)}
.product-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:18px;font-size:40px}
.product-img img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.product-card:hover .product-img img{transform:scale(1.05)}
.product-cat{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-d);margin-bottom:6px}
.product-name{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.3;margin-bottom:8px}
.product-desc{font-size:12px;color:var(--ink-3);line-height:1.5;margin-bottom:12px}
.product-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border)}
.product-price{font-family:var(--serif);font-size:20px;font-weight:500}
.price-login{font-size:11px;color:var(--ink-3);font-style:italic}
.btn-add{width:30px;height:30px;background:var(--ink);color:var(--white);border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.btn-add:hover{background:var(--sage-d)}
.stock-badge{font-size:10px;font-weight:700;padding:2px 8px}
.stock-in{background:var(--sage-p);color:var(--sage-d)}
.stock-out{background:var(--rose-p);color:var(--rose)}

/* CATALOG HEAD */
.catalog-head{background:var(--ink);color:var(--white);padding:60px 48px 40px}
.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.filter-pill{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 16px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.18);color:rgba(255,255,255,.82);transition:.15s;cursor:pointer;white-space:nowrap}
.filter-pill:hover{background:rgba(255,255,255,.16);color:var(--white);border-color:rgba(255,255,255,.45)}
.filter-pill.active{background:var(--white);color:var(--ink);border-color:var(--white)}

/* PAGINATION (na jasnym tle) */
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:44px;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-size:13px;font-weight:600;font-family:var(--sans);text-decoration:none;transition:.15s}
.pager a{border:1.5px solid var(--border);color:var(--ink-2);background:var(--white)}
.pager a:hover{border-color:var(--ink);color:var(--ink)}
.pager a.active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.pager a.arrow{font-size:17px}
.pager .gap{min-width:auto;padding:0 4px;color:var(--ink-3)}

/* CART */
.cart-item{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.cart-img{width:56px;height:56px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;overflow:hidden}
.cart-img img{width:100%;height:100%;object-fit:contain}
.cart-info{flex:1}
.cart-item-name{font-family:var(--serif);font-size:16px;font-weight:500;margin-bottom:2px}
.cart-meta{font-size:12px;color:var(--ink-3)}
.qty-row{display:flex;align-items:center;gap:8px}
.qty-btn{width:28px;height:28px;background:transparent;border:1.5px solid var(--border);color:var(--ink);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.15s}
.qty-btn:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.cart-line-price{font-family:var(--serif);font-size:18px;font-weight:500;min-width:80px;text-align:right}
.cart-summary{background:var(--cream-2);border:1px solid var(--border);padding:24px;margin-top:24px}
.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:10px}
.summary-row.total{font-family:var(--serif);font-size:22px;font-weight:500;margin-top:14px;padding-top:14px;border-top:1.5px solid var(--border);margin-bottom:0}
.summary-row.discount{color:var(--rose)}
.free-ship-msg{font-size:12px;color:var(--sage-d);font-weight:600;margin-bottom:10px}
.vat-box{padding:12px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin:10px 0}
.pay-method-option{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1.5px solid var(--border);margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.pay-method-option:has(input:checked){border-color:var(--sage-d);background:var(--sage-p)}
.pay-method-label{font-size:14px;font-weight:600;margin-bottom:2px}
.pay-method-sub{font-size:12px;color:var(--ink-3)}

/* ACCOUNT */
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);margin-bottom:32px}
.kpi-card{padding:24px;border-right:1px solid var(--border)}
.kpi-card:last-child{border-right:none}
.kpi-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}
.kpi-val{display:block;font-family:var(--serif);font-size:32px;font-weight:500;line-height:1;margin-bottom:4px}
.kpi-sub{font-size:12px;color:var(--ink-3)}

/* DATA TABLE */
.data-table{width:100%;border-collapse:collapse;font-size:13.5px}
.data-table thead th{background:var(--ink);color:var(--white);padding:11px 16px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.data-table tbody tr:nth-child(even){background:var(--cream)}
.data-table tbody tr:hover{background:var(--cream-2)}
.data-table td{padding:11px 16px;border-top:1px solid var(--border)}
.data-table .muted{color:var(--ink-3);font-size:12px}
td.overdue{color:#b05050;font-weight:700}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);margin-bottom:40px;flex-wrap:wrap}
.breadcrumb a{color:var(--ink-3);transition:color .15s}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb .sep{color:var(--border)}

/* STATUS PAGE */
.status-page{text-align:center;padding:80px 24px}
.status-icon{font-size:56px;margin-bottom:20px}
.action-row{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}

/* FOOTER */
.site-footer{background:var(--ink);color:rgba(255,255,255,.5);padding:60px 48px 32px}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:28px}
.footer-inner h4{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:16px}
.footer-inner a{display:block;font-size:13px;color:rgba(255,255,255,.5);margin-bottom:9px;transition:color .2s}
.footer-inner a:hover{color:var(--white)}
.footer-desc{font-size:13px;color:rgba(255,255,255,.35);line-height:1.65;margin-top:12px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.25)}
.footer-bottom a{color:var(--rose-2)}

/* ADMIN LAYOUT */
.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.admin-sidebar{background:var(--ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-brand{padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}
.admin-brand .brand-name{font-size:16px;color:var(--white)}
.admin-brand .brand-name em{color:var(--rose-2)}
.admin-brand .brand-badge{background:var(--rose);color:var(--white)}
.admin-brand .brand-icon{background:rgba(255,255,255,.08)}
.admin-who{padding:10px 20px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}
.admin-who-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:2px}
.admin-who-name{font-size:13px;color:rgba(255,255,255,.7);font-weight:500}
.admin-who-role{font-size:10px;color:rgba(255,255,255,.3)}
.admin-nav{flex:1;padding:10px 0}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 20px;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);transition:.15s;border-left:2px solid transparent}
.admin-nav a:hover{color:var(--white);background:rgba(255,255,255,.05)}
.admin-nav a.active{color:var(--white);background:rgba(255,255,255,.07);border-left-color:var(--rose)}
.admin-lang{padding:14px 20px;border-top:1px solid rgba(255,255,255,.08)}
.admin-lang-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:8px}
.admin-lang-btns{display:flex;gap:6px}
.admin-lang-btn{font-size:11px;font-weight:700;padding:5px 10px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);background:transparent;cursor:pointer;transition:.15s;text-decoration:none;display:inline-block}
.admin-lang-btn.active{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);color:var(--white)}
.admin-exit{padding:14px 20px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.3);border-top:1px solid rgba(255,255,255,.08);transition:.15s;display:block}
.admin-exit:hover{color:var(--white)}
.admin-main{padding:36px 44px;background:var(--cream);min-height:100vh;overflow-x:auto}
.admin-main h1{font-family:var(--serif);font-size:30px;font-weight:500;margin-bottom:24px}
.admin-head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.admin-head-row h1{margin-bottom:0}

/* UTILS */
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.text-center{text-align:center}.text-right{text-align:right}
.flex{display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}
.items-center{align-items:center}.justify-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}
.fw-700{font-weight:700}.color-ink-3{color:var(--ink-3)}.color-rose{color:var(--rose)}
.color-sage{color:var(--sage-d)}

/* HAMBURGER (mobile) — ukryty na desktopie */
.nav-burger,.admin-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.nav-burger span{display:block;width:24px;height:2px;background:var(--ink);transition:.3s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.admin-burger span{display:block;width:22px;height:2px;background:#fff;transition:.3s}
.admin-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.admin-burger.open span:nth-child(2){opacity:0}
.admin-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* RESPONSIVE */
@media(max-width:1100px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .product-card:nth-child(4n){border-right:1px solid var(--border)}
  .product-card:nth-child(2n){border-right:none}
}
@media(max-width:768px){
  .topnav{padding:0 20px;height:60px}
  .nav-burger{display:flex}
  .topnav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);padding:8px 20px 16px;z-index:899}
  .topnav-links.open{display:flex}
  .topnav-links a{padding:13px 0;width:100%;font-size:15px;border-bottom:1px solid var(--border)}
  .topnav-links .btn-nav-primary{border:1.5px solid var(--ink);text-align:center;margin-top:10px}
  .lang-switch{margin-top:12px;display:flex;gap:14px}
  .section,.section-sm,.page-pad,.wrap,.catalog-head,.site-footer,.admin-main{padding-left:20px;padding-right:20px}
  .narrow{padding:40px 20px}
  .product-grid{grid-template-columns:1fr}
  .product-card:nth-child(n){border-right:none}
  .kpi-grid{grid-template-columns:1fr}
  .kpi-card{border-right:none;border-bottom:1px solid var(--border)}
  .admin-layout{grid-template-columns:1fr}
  .admin-burger{display:flex;position:fixed;top:12px;right:16px;z-index:1000;background:var(--ink);padding:10px;border-radius:8px}
  .admin-sidebar{display:flex;position:fixed;top:0;left:-300px;bottom:0;width:280px;height:100vh;z-index:999;transition:left .3s ease}
  .admin-sidebar.open{left:0;box-shadow:0 0 40px rgba(0,0,0,.35)}
  .admin-main{padding-top:64px}
  .footer-inner{grid-template-columns:1fr;gap:24px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .form-grid{grid-template-columns:1fr}
  .form-field.span-2{grid-column:auto}
}

/* ── FLORALS — magnolia (brand) ─────────────────────────────────────── */
.fl-bloom{display:block}
.fl-sprig{display:block;pointer-events:none}
.fl-corner{position:absolute;pointer-events:none;z-index:1}
.fl-corner.tr{top:-10px;right:8px}
.fl-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:56px auto;max-width:520px}
.fl-divider-line{height:1px;flex:1}
.fl-divider svg{flex-shrink:0}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:8px 0}
.benefit{text-align:center;padding:8px}
.fl-benefit-ic{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--rose-p);border:1px solid var(--border);margin-bottom:18px;transition:transform .3s ease,background .3s ease}
.benefit:hover .fl-benefit-ic{transform:translateY(-4px);background:#F5DEDE}
.benefit-title{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);line-height:1.5}
.benefit-sub{font-size:13px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.fl-band{height:120px;background-repeat:repeat-x;background-position:center;background-size:auto 120px;opacity:.6}
.h-floral{display:flex;align-items:center;gap:16px}
.h-floral .fl-bloom{flex-shrink:0}
@media(max-width:768px){.benefits{grid-template-columns:1fr 1fr;gap:32px 16px}.fl-corner .fl-sprig{width:150px;height:auto}.fl-divider{margin:40px auto}.h-floral{gap:10px}}
.h-floral.center{justify-content:center}

/* ── TEKSTURY (subtelne tła z brand guide) ──────────────────────────── */
.has-tex{position:relative}
.has-tex>*{position:relative;z-index:1}
.has-tex::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed;opacity:.12;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%)}
@media(max-width:768px){.has-tex::before{background-attachment:scroll}}
.tex-watercolor::before{background-image:url('/assets/img/texture-watercolor.webp');opacity:.16}
.tex-marble::before{background-image:url('/assets/img/texture-marble.webp');opacity:.12}
.tex-silk::before{background-image:url('/assets/img/texture-silk.webp');opacity:.18}

/* hero B2B — responsywność (mobile: stackowanie kolumn) */
@media(max-width:860px){
  .b2b-hero{padding:48px 22px 52px}
  .b2b-hero-inner{grid-template-columns:1fr!important;gap:36px!important}
  .b2b-hero-sprig{top:2px;right:4px}
  .b2b-hero-sprig .fl-sprig{width:128px!important}
}

/* ── FONT COCO (marka Les Fleurs D'O) ───────────────────────────────── */
@font-face{font-family:'Coco';src:url('/assets/fonts/Coco-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Coco';src:url('/assets/fonts/Coco-Bold.otf') format('opentype');font-weight:700;font-display:swap}
/* napisy „Les Fleurs D'O" w firmowym foncie marki */
.lfdo{font-family:'Coco',var(--serif);letter-spacing:.06em;font-weight:400}
