/* 4Season Outlet — Design System */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --color-burgundy: #6d1b2c;
  --color-burgundy-dark: #4a1220;
  --color-burgundy-darker: #2e0b13;
  --color-gold: #c9973a;
  --color-gold-light: #e8c547;
  --color-blush: #e8a5b8;
  --color-cream: #faf6f0;
  --color-cream-2: #f1e8de;
  --color-ink: #2b2320;
  --color-ink-light: #6b5f57;
  --color-white: #ffffff;
  --color-success: #3f7a4e;
  --color-danger: #b3261e;
  --color-border: #e6dccc;

  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, Segoe UI, Roboto, sans-serif;

  --radius: 10px;
  --radius-lg: 18px;
  --shadow: 0 2px 10px rgba(74,18,32,.08);
  --shadow-lg: 0 12px 32px rgba(74,18,32,.16);
  --max-width: 1280px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0; font-family: var(--font-body); color: var(--color-ink);
  background: var(--color-cream); line-height:1.55; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color: var(--color-burgundy); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ font-family: var(--font-heading); color: var(--color-burgundy-dark); margin:0 0 .5em; line-height:1.2; }
h1{ font-size: clamp(1.8rem, 4vw, 2.6rem); }
h2{ font-size: clamp(1.4rem, 3vw, 2rem); }
h3{ font-size:1.2rem; }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
.container{ max-width: var(--max-width); margin:0 auto; padding:0 1.25rem; }
.visually-hidden{ position:absolute!important; width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.skip-link{ position:absolute; left:-999px; top:0; background:var(--color-burgundy); color:#fff; padding:.6em 1em; z-index:2000; }
.skip-link:focus{ left:1rem; top:1rem; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; padding:.75em 1.4em; border-radius:999px; border:2px solid transparent; font-weight:600; font-size:.95rem; transition:.15s ease; text-decoration:none; }
.btn-primary{ background: var(--color-burgundy); color:#fff; }
.btn-primary:hover{ background: var(--color-burgundy-dark); text-decoration:none; }
.btn-gold{ background: var(--color-gold); color:#fff; }
.btn-gold:hover{ background:#b3822f; text-decoration:none; }
.btn-outline{ background:transparent; border-color: var(--color-burgundy); color: var(--color-burgundy); }
.btn-outline:hover{ background: var(--color-burgundy); color:#fff; text-decoration:none; }
.btn-sm{ padding:.45em 1em; font-size:.85rem; }
.btn-block{ width:100%; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; }
.btn-icon{ width:2.5em; height:2.5em; padding:0; border-radius:50%; }

/* Forms */
label{ display:block; font-weight:600; margin-bottom:.35em; font-size:.92rem; }
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select,textarea{
  width:100%; padding:.7em .9em; border:1.5px solid var(--color-border); border-radius: var(--radius); background:#fff;
  font-family:inherit; font-size:1rem; color:var(--color-ink);
}
input:focus,select:focus,textarea:focus{ outline:2px solid var(--color-gold); outline-offset:1px; border-color: var(--color-gold); }
.form-group{ margin-bottom:1.1rem; }
.form-row{ display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:640px){ .form-row-2{ grid-template-columns:1fr 1fr; } .form-row-3{ grid-template-columns:1fr 1fr 1fr; } }
.form-hint{ font-size:.82rem; color:var(--color-ink-light); margin-top:.3em; }
.form-error{ color:var(--color-danger); font-size:.85rem; margin-top:.3em; }
.checkbox-row{ display:flex; align-items:flex-start; gap:.6em; }
.checkbox-row input{ width:auto; margin-top:.25em; }
.checkbox-row label{ font-weight:400; margin:0; }
fieldset{ border:1.5px solid var(--color-border); border-radius: var(--radius); padding:1rem; margin:0 0 1rem; }
legend{ font-weight:700; padding:0 .5em; font-family:var(--font-heading); color:var(--color-burgundy); }

/* Alerts / flash */
.alert{ padding:.9em 1.1em; border-radius: var(--radius); margin-bottom:1rem; font-size:.95rem; }
.alert-success{ background:#e7f3ea; color:var(--color-success); border:1px solid #bfe0c8; }
.alert-error{ background:#fbeaea; color:var(--color-danger); border:1px solid #f0c4c1; }
.alert-info{ background:#fff6e6; color:#8a5a12; border:1px solid #f0d9a6; }

/* Top bar + header */
.topbar{ background: var(--color-burgundy-darker); color:#e9d9c9; font-size:.82rem; padding:.4em 0; }
.topbar .container{ display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.topbar a{ color:#e9d9c9; }
.social-icons{ display:flex; gap:.7em; }
.social-icons a{ width:1.8em; height:1.8em; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.12); }
.social-icons svg{ width:1em; height:1em; fill:#e9d9c9; }

.site-header{ background:#fff; position:sticky; top:0; z-index:100; box-shadow: var(--shadow); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:.7rem 0; gap:1rem; }
.logo-link{ display:flex; align-items:center; }
.logo-link img{ height:56px; width:auto; }
.header-actions{ display:flex; align-items:center; gap:.6rem; }
.icon-btn{ position:relative; width:2.6rem; height:2.6rem; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--color-cream-2); border:none; color:var(--color-burgundy-dark); }
.icon-btn:hover{ background:var(--color-blush); }
.cart-badge{ position:absolute; top:-4px; right:-4px; background:var(--color-burgundy); color:#fff; font-size:.68rem; font-weight:700; min-width:1.3em; height:1.3em; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:0 .2em; }

.main-nav{ background: var(--color-burgundy); }
.main-nav .container{ display:flex; }
.nav-list{ display:none; }
.nav-list.open{ display:block; }
.nav-list a{ display:block; color:#fff; padding:.85em 1rem; font-weight:600; }
.nav-list a:hover{ background: var(--color-burgundy-dark); text-decoration:none; }
.has-children{ position:relative; }
.submenu{ display:none; list-style:none; padding-left:1rem; background: var(--color-burgundy-dark); }
.has-children.open > .submenu{ display:block; }
.nav-toggle{ display:flex; align-items:center; gap:.4em; background:none; border:none; color:#fff; padding:.9em 1rem; font-weight:600; }
.nav-toggle svg{ width:1.3em; height:1.3em; }
@media(min-width:900px){
  .nav-toggle{ display:none; }
  .nav-list{ display:flex !important; }
  .submenu{ position:absolute; left:0; top:100%; min-width:220px; box-shadow:var(--shadow-lg); z-index:50; padding:.4em 0; }
  .has-children:hover > .submenu{ display:block; }
  .nav-list a{ padding:.9em 1.1rem; }
}

.search-bar{ flex:1; max-width:480px; position:relative; }
.search-bar form{ display:flex; }
.search-bar input{ border-radius:999px 0 0 999px; border-right:none; }
.search-bar button{ border-radius:0 999px 999px 0; background:var(--color-gold); color:#fff; border:1.5px solid var(--color-gold); padding:0 1.1em; }

.search-preview{ position:absolute; left:0; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); z-index:200; overflow:hidden; }
.search-preview[hidden]{ display:none; }
.search-preview-item{ display:flex; align-items:center; gap:.7em; padding:.6em .9em; text-decoration:none; color:var(--color-ink); border-bottom:1px solid var(--color-border); }
.search-preview-item:last-of-type{ border-bottom:none; }
.search-preview-item:hover, .search-preview-item.active{ background:var(--color-cream-2); text-decoration:none; }
.search-preview-item img{ width:42px; height:42px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.search-preview-item-name{ font-size:.9rem; font-weight:600; flex:1; }
.search-preview-item-price{ font-size:.85rem; color:var(--color-burgundy); font-weight:700; white-space:nowrap; }
.search-preview-item-price .price-old{ display:block; font-weight:400; font-size:.78rem; }
.search-preview-more{ display:block; text-align:center; padding:.7em; font-size:.85rem; font-weight:600; background:var(--color-cream-2); color:var(--color-burgundy); text-decoration:none; }
.search-preview-more:hover{ background:var(--color-blush); text-decoration:none; }
.search-preview-empty{ padding:.9em; font-size:.85rem; color:var(--color-ink-light); text-align:center; }

/* Hero / banner */
.hero{ background: linear-gradient(135deg, var(--color-burgundy-darker), var(--color-burgundy) 60%); color:#fff; padding:3rem 0; text-align:center; }
.hero h1{ color:#fff; }
.hero p{ color:#eeddd0; max-width:640px; margin:0 auto 1.5em; }

.section{ padding:2.5rem 0; }
.section-title{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1.2rem; flex-wrap:wrap; gap:.5rem; }
.section-title a{ font-size:.9rem; font-weight:600; }

/* Category tiles */
.cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media(min-width:640px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:960px){ .cat-grid{ grid-template-columns:repeat(4,1fr); } }
.cat-tile{ position:relative; border-radius: var(--radius-lg); overflow:hidden; aspect-ratio:4/3; background:var(--color-cream-2); box-shadow:var(--shadow); }
.cat-tile img{ width:100%; height:100%; object-fit:cover; transition:.3s; }
.cat-tile:hover img{ transform:scale(1.06); }
.cat-tile-label{ position:absolute; inset:auto 0 0 0; background:linear-gradient(0deg, rgba(46,11,19,.85), transparent); color:#fff; padding:1.6em .9em .7em; font-weight:700; font-family:var(--font-heading); }

/* Product grid + card */
.product-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; }
@media(min-width:640px){ .product-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:960px){ .product-grid{ grid-template-columns:repeat(4,1fr); } }
.product-card{ background:#fff; border-radius: var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; position:relative; transition:.2s; }
.product-card:hover{ box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.product-card-img{ aspect-ratio:1/1; overflow:hidden; background:var(--color-cream-2); position:relative; }
.product-card-img img{ width:100%; height:100%; object-fit:cover; }
.badge-sale{ position:absolute; top:.6em; left:.6em; background:var(--color-danger); color:#fff; font-size:.72rem; font-weight:700; padding:.3em .6em; border-radius:999px; z-index:2; }
.badge-outofstock{ position:absolute; top:.6em; right:.6em; background:var(--color-ink); color:#fff; font-size:.68rem; font-weight:700; padding:.3em .6em; border-radius:999px; z-index:2; }
.product-card-body{ padding:.9em 1em 1.1em; display:flex; flex-direction:column; gap:.4em; flex:1; }
.product-card-title{ font-weight:600; font-size:.95rem; color:var(--color-ink); }
.product-card-title:hover{ color:var(--color-burgundy); }
.price-row{ display:flex; align-items:baseline; gap:.5em; margin-top:auto; }
.price{ font-weight:700; color:var(--color-burgundy); font-size:1.15rem; }
.price-old{ text-decoration:line-through; color:var(--color-ink-light); font-size:.9rem; }
.price-you-save{ font-size:.75rem; color:var(--color-success); font-weight:600; }

/* Filters / sidebar */
.shop-layout{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:900px){ .shop-layout{ grid-template-columns:260px 1fr; } }
.filter-box{ background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-lg); padding:1.2rem; }
.filter-box h4{ font-family:var(--font-body); font-weight:700; font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; color:var(--color-burgundy-dark); margin-bottom:.7em; }
.filter-group{ margin-bottom:1.3rem; }
.filter-group ul{ display:flex; flex-direction:column; gap:.4em; }
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.2rem; flex-wrap:wrap; }
.breadcrumb{ font-size:.85rem; color:var(--color-ink-light); margin-bottom:1rem; }
.breadcrumb a{ color:var(--color-ink-light); }
.breadcrumb span:last-child{ color:var(--color-ink); }

.pagination{ display:flex; gap:.4em; justify-content:center; margin-top:2rem; flex-wrap:wrap; }
.pagination a,.pagination span{ min-width:2.4em; height:2.4em; display:flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid var(--color-border); }
.pagination .current{ background:var(--color-burgundy); color:#fff; border-color:var(--color-burgundy); }

/* Product detail */
.product-detail{ display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:860px){ .product-detail{ grid-template-columns:1fr 1fr; } }
.gallery-main{ aspect-ratio:1/1; border-radius:var(--radius-lg); overflow:hidden; background:var(--color-cream-2); margin-bottom:.7em; }
.gallery-main img{ width:100%; height:100%; object-fit:cover; }
.gallery-thumbs{ display:flex; gap:.5em; flex-wrap:wrap; }
.gallery-thumbs img{ width:64px; height:64px; object-fit:cover; border-radius:8px; cursor:pointer; border:2px solid transparent; }
.gallery-thumbs img.active{ border-color:var(--color-gold); }
.product-info .price{ font-size:1.8rem; }
.stock-status{ font-size:.9rem; font-weight:600; }
.stock-in{ color:var(--color-success); }
.stock-out{ color:var(--color-danger); }
.qty-input{ display:flex; align-items:center; border:1.5px solid var(--color-border); border-radius:999px; width:fit-content; }
.qty-input button{ width:2.4em; height:2.4em; border:none; background:none; font-size:1.1rem; }
.qty-input input{ width:3em; border:none; text-align:center; padding:0; }
.share-row{ display:flex; gap:.5em; margin-top:1rem; flex-wrap:wrap; }
.share-row a,.share-row button{ display:flex; align-items:center; gap:.4em; padding:.5em .9em; border-radius:999px; background:var(--color-cream-2); font-size:.85rem; font-weight:600; color:var(--color-ink); border:none; }
.share-row svg{ width:1.1em; height:1.1em; }
.shipping-note{ background:var(--color-cream-2); border-radius:var(--radius); padding:.8em 1em; font-size:.85rem; margin-top:1rem; }

/* Vor-Ort-Reservierung */
.reserve-box{ background:var(--color-cream-2); border:1px solid var(--color-border); border-radius:var(--radius); padding:1em; margin-top:1rem; }
.reserve-box summary{ cursor:pointer; font-weight:700; color:var(--color-burgundy-dark); list-style:none; display:flex; align-items:center; gap:.4em; }
.reserve-box summary::-webkit-details-marker{ display:none; }
.reserve-box summary::after{ content:"›"; margin-left:auto; transition:transform .15s; }
.reserve-box[open] summary::after{ transform:rotate(90deg); }
.reserve-box form{ margin-top:1em; }

/* Cart & checkout */
.cart-table{ width:100%; border-collapse:collapse; }
.cart-table th{ text-align:left; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--color-ink-light); padding:.6em; border-bottom:2px solid var(--color-border); }
.cart-table td{ padding:.8em .6em; border-bottom:1px solid var(--color-border); vertical-align:middle; }
.cart-item-info{ display:flex; align-items:center; gap:.8em; }
.cart-item-info img{ width:64px; height:64px; object-fit:cover; border-radius:8px; }
.cart-summary{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.3rem; }
.summary-row{ display:flex; justify-content:space-between; padding:.4em 0; }
.summary-row.total{ font-weight:700; font-size:1.15rem; border-top:2px solid var(--color-border); margin-top:.5em; padding-top:.7em; color:var(--color-burgundy); }
.free-shipping-bar{ background:var(--color-cream-2); border-radius:999px; height:8px; overflow:hidden; margin:.6em 0; }
.free-shipping-bar-fill{ background:var(--color-success); height:100%; }

.payment-options{ display:flex; flex-direction:column; gap:.7em; }
.payment-option{ border:1.5px solid var(--color-border); border-radius:var(--radius); padding:1em; display:flex; gap:.8em; align-items:flex-start; cursor:pointer; }
.payment-option:has(input:checked){ border-color:var(--color-gold); background:#fffbf2; }
.payment-option input{ width:auto; margin-top:.3em; }
.bank-details{ background:var(--color-cream-2); border-radius:var(--radius); padding:1em; margin-top:.8em; font-size:.9rem; }
.bank-details dt{ font-weight:700; color:var(--color-burgundy-dark); }
.bank-details dd{ margin:0 0 .5em; }

/* Cards / boxes */
.card{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.4rem; }
.two-col{ display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:860px){ .two-col{ grid-template-columns:1fr 1fr; } }

/* Footer */
.site-footer{ background: var(--color-burgundy-darker); color:#d9c4b3; margin-top:3rem; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:2rem; padding:3rem 0 1.5rem; }
@media(min-width:720px){ .footer-grid{ grid-template-columns:repeat(4,1fr); } }
.site-footer h5{ color:#fff; font-family:var(--font-heading); margin-bottom:.8em; }
.site-footer a{ color:#d9c4b3; }
.site-footer a:hover{ color:#fff; }
.site-footer ul li{ margin-bottom:.5em; }
.newsletter-form{ display:flex; gap:.5em; flex-wrap:wrap; }
.newsletter-form input{ flex:1; min-width:180px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:1.2rem 0; font-size:.82rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; }

/* Cookie banner */
.cookie-banner{ position:fixed; inset:auto 0 0 0; background:var(--color-burgundy-darker); color:#f1e6da; z-index:1000; padding:1.2rem; box-shadow:0 -4px 20px rgba(0,0,0,.3); display:none; }
.cookie-banner.visible{ display:block; }
.cookie-banner-inner{ max-width:960px; margin:0 auto; }
.cookie-banner p{ font-size:.88rem; margin-bottom:1em; }
.cookie-actions{ display:flex; gap:.6em; flex-wrap:wrap; }
.cookie-settings-panel{ display:none; margin-top:1em; background:rgba(255,255,255,.06); border-radius:var(--radius); padding:1em; }
.cookie-settings-panel.visible{ display:block; }
.cookie-cat{ display:flex; justify-content:space-between; align-items:center; padding:.5em 0; border-bottom:1px solid rgba(255,255,255,.1); gap:1em; }
.switch{ position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; }
.switch input{ opacity:0; width:0; height:0; }
.slider{ position:absolute; cursor:pointer; inset:0; background:#7a6a5c; border-radius:999px; transition:.2s; }
.slider::before{ content:""; position:absolute; height:18px; width:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; }
input:checked + .slider{ background:var(--color-success); }
input:checked + .slider::before{ transform:translateX(20px); }
input:disabled + .slider{ opacity:.5; cursor:not-allowed; }

/* Admin */
.admin-body{ background:#f4f1ec; }
.admin-shell{ display:flex; min-height:100vh; }
.admin-sidebar{ width:230px; background: var(--color-burgundy-darker); color:#e9d9c9; flex-shrink:0; padding:1.2rem 0; position:sticky; top:0; height:100vh; overflow-y:auto; }
.admin-sidebar .logo-link img{ height:42px; }
.admin-sidebar .logo-link{ padding:0 1.2rem 1rem; }
.admin-nav a{ display:flex; align-items:center; gap:.7em; padding:.75em 1.2rem; color:#e9d9c9; font-weight:500; font-size:.92rem; }
.admin-nav a:hover,.admin-nav a.active{ background:rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.admin-main{ flex:1; padding:1.6rem; min-width:0; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.4rem; flex-wrap:wrap; gap:1rem; }
.stat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-bottom:1.5rem; }
@media(min-width:720px){ .stat-grid{ grid-template-columns:repeat(4,1fr); } }
.stat-card{ background:#fff; border-radius:var(--radius-lg); padding:1.2rem; box-shadow:var(--shadow); }
.stat-card .value{ font-size:1.7rem; font-weight:700; color:var(--color-burgundy); font-family:var(--font-heading); }
.stat-card .label{ font-size:.82rem; color:var(--color-ink-light); }
.data-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); }
.data-table th{ text-align:left; background:var(--color-cream-2); padding:.7em .9em; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; color:var(--color-ink-light); }
.data-table td{ padding:.7em .9em; border-top:1px solid var(--color-border); font-size:.92rem; vertical-align:middle; }
.data-table tr:hover td{ background:#fbf8f4; }
.table-scroll{ overflow-x:auto; }
.badge{ display:inline-block; padding:.25em .7em; border-radius:999px; font-size:.75rem; font-weight:700; }
.badge-green{ background:#e7f3ea; color:var(--color-success); }
.badge-red{ background:#fbeaea; color:var(--color-danger); }
.badge-gray{ background:#eee; color:#555; }
.badge-gold{ background:#fff3da; color:#8a5a12; }
.thumb-sm{ width:44px; height:44px; object-fit:cover; border-radius:6px; }
.toggle-row{ display:flex; align-items:center; gap:.8em; padding:.7em 0; border-bottom:1px solid var(--color-border); }
.admin-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--color-burgundy-darker),var(--color-burgundy)); padding:1rem; }
.admin-login-card{ background:#fff; border-radius:var(--radius-lg); padding:2.2rem; width:100%; max-width:380px; box-shadow:var(--shadow-lg); text-align:center; }
.image-upload-grid{ display:flex; gap:.7em; flex-wrap:wrap; margin-top:.6em; }
.image-upload-grid .img-thumb{ position:relative; width:90px; height:90px; border-radius:8px; overflow:hidden; }
.image-upload-grid .img-thumb img{ width:100%; height:100%; object-fit:cover; }
.image-upload-grid .img-thumb form{ position:absolute; top:2px; right:2px; }
.image-upload-grid .img-thumb button{ background:rgba(0,0,0,.6); color:#fff; border:none; width:20px; height:20px; border-radius:50%; font-size:.7rem; line-height:1; }

/* Newsletter-Editor */
.editor-toolbar{ display:flex; flex-wrap:wrap; gap:.3em; background:var(--color-cream-2); border:1px solid var(--color-border); border-bottom:none; border-radius:var(--radius) var(--radius) 0 0; padding:.5em; }
.editor-toolbar button{ background:#fff; border:1px solid var(--color-border); border-radius:6px; padding:.35em .6em; font-size:.85rem; }
.editor-toolbar button:hover{ background:var(--color-blush); }
.editor-toolbar input[type=color]{ width:2.2em; height:2.2em; padding:0; border:1px solid var(--color-border); border-radius:6px; }
.editor-content{ min-height:320px; border:1px solid var(--color-border); border-radius:0 0 var(--radius) var(--radius); padding:1.2em; background:#fff; }
.editor-content:focus{ outline:2px solid var(--color-gold); }
.editor-content img{ max-width:100%; border-radius:8px; }
.editor-content h2{ font-family:var(--font-heading); color:var(--color-burgundy-dark); }

/* Utilities */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.text-center{text-align:center}.text-muted{color:var(--color-ink-light)}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.9rem}
.w-full{width:100%}
