/* Suche (Modal) – neutraler Textlook */
.srch-modal{position:fixed;inset:0;display:none;z-index:1200}
.srch-modal[aria-hidden="false"]{display:block}
.modal .modal-inner.srch-panel{width:min(90vw, 800px);max-width: none;min-width: 0;padding:1.25rem 0.2rem;}
.srch-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.25)}
.srch-head{display:flex;gap:8px;padding:14px;border-bottom:1px solid #eee}
#srch-input{flex:1;font-size: clamp(14px, calc(14px + (4 * (100vw - 375px) / 2125)), 18px);padding: clamp(10px, calc(10px + (4 * (100vw - 375px) / 2125)), 14px)clamp(12px, calc(12px + (6 * (100vw - 375px) / 2125)), 18px);border:1px solid var(--color-braun);border-radius:10px;}
#srch-input{font-size: clamp(14px, calc(14px + (4 * (100vw - 375px) / 2125)), 18px);padding: clamp(10px, calc(10px + (4 * (100vw - 375px) / 2125)), 14px) clamp(12px, calc(12px + (6 * (100vw - 375px) / 2125)), 18px);}
.srch-results{max-height:60vh;overflow:auto;font-size:10px;width:90%;margin:0 auto;}
#srch-list{list-style:none;margin:0;padding:6px}
#srch-list li a{display:flex;gap:10px;padding:10px 12px;border-radius:10px;align-items:center;color:#502f2b;text-decoration:none}
#srch-list li a:hover,#srch-list li a:focus{background:var(--color-braun);outline:none}
.badge{font-size:11px;padding:2px 6px;border:1px solid var(--color-braun);border-radius:999px;white-space:nowrap}
#srch-list .title{font-size:clamp(12px,calc(12px + (7 * (100vw - 375px) / 2125)),18px);line-height:1.35;}
.sub{font-size:13px;opacity:.7}
mark{background:var(--color-braun);padding:0 2px}
#srch-info.srch-hint{font-weight:700;color:var(--color-gruen);font-size:.9rem;margin:.25rem 0 .5rem}
.srch-tag{color:#000;width:clamp(36px,calc(36px + (14 * (100vw - 375px) / 2125)),50px);font-size:clamp(10px,calc(10px + (4 * (100vw - 375px) / 2125)),14px);}
#srch-list .srch-item a{display:flex;gap:.5rem;align-items:center}
.hl{color:#8c0808;font-weight:700;}

.modal[hidden]{display:none!important}
.modal{position:fixed;inset:0;display:flex;justify-content:center;align-items:flex-start;z-index:1}
.modal::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.modal .modal-inner{position:relative;margin:6rem auto 2rem;background:var(--color-grau-dunkler);padding:1.25rem 1.5rem;z-index:1;max-height: calc(100vh - 40px);}
:root{--modal-max-w:1200px;--modal-min-w:860px;--modal-side-pad:56px;--modal-top-gap:72px;--modal-vpad:22px;--modal-hpad:26px;--modal-max-h:calc(100vh - (var(--modal-top-gap) + 48px));--brand-acc:var(--color-grau-dunkler);--sep:rgba(0,0,0,.12);}
.modal[hidden]{display:none!important;}
.modal{position:fixed;inset:0;display:flex;justify-content:center;align-items:flex-start;background:rgba(249, 247, 237, 0.47);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:4;opacity:0;visibility:hidden;transition:opacity .18s ease;}
.modal[aria-hidden="false"]{opacity:1;visibility:visible;}

.modal-weinraum .modal-inner{width:min(calc(100vw - 2*var(--modal-side-pad) - 2px),clamp(320px,calc(420px + (200 * (100vw - 375px) / 2125)),640px));box-sizing:border-box;padding:var(--modal-vpad) var(--modal-hpad);margin-left:auto;margin-right:auto;border-radius:18px;}
.modal-weinraum form{text-align:center;width:clamp(80%,calc(90% - (10% * (100vw - 375px) / 2125)),90%);margin:0 auto;}
.modal-weinraum label{display:block;margin:0 auto;text-align:left;font-weight:600;width:100%;}
.modal-weinraum form:not(.anrede-inline) input[type="email"],.modal-weinraum form:not(.anrede-inline) input[type="password"],.modal-weinraum form:not(.anrede-inline) input[type="text"] {display:block;width:100%;margin:0 auto 12px;height:clamp(36px,calc(36px + (8 * (100vw - 375px) / 2125)),44px);padding:0 clamp(10px,calc(10px + (6 * (100vw - 375px) / 2125)),16px);font-size:clamp(16px,calc(16px + (2 * (100vw - 375px) / 2125)),18px);border:1px solid var(--color-braun);border-radius:10px;box-sizing:border-box;}
.modal-weinraum input:focus{outline:none;border-color:var(--color-gruen);box-shadow:0 0 0 3px var(--color-gruen);}
.modal-weinraum .btn{display:inline-block;margin:6px auto 0;min-width:clamp(140px,calc(140px + (60 * (100vw - 375px) / 2125)),200px);height:clamp(36px,calc(36px + (6 * (100vw - 375px) / 2125)),42px);padding:0 clamp(12px,calc(12px + (8 * (100vw - 375px) / 2125)),20px);border:1px solid #222;background:#fff;font:normal normal 600 clamp(16px,calc(16px + (4 * (100vw - 375px) / 2125)),20px)/1 "brandon grotesque",system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;}
.modal-weinraum button:hover,.modal-weinraum .btn:hover{background:#f6f6f6;}

#modal-account .modal-inner{text-align:left;}
#modal-account .modal-inner a {display:block;max-width:clamp(420px,calc(420px + (240 * (100vw - 375px) / 2125)),660px);margin:clamp(6px,calc(6px + (6 * (100vw - 375px) / 2125)),12px) auto;padding:clamp(10px,calc(10px + (6 * (100vw - 375px) / 2125)),16px) clamp(16px,calc(16px + (10 * (100vw - 375px) / 2125)),26px);font-weight:600;font-size:clamp(12px,calc(12px + (6 * (100vw - 375px) / 2125)),18px);color:var(--color-rot);text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;border-bottom:none;}
#modal-account .modal-inner a {padding-left:clamp(28px,calc(28px + (16 * (100vw - 375px) / 2125)),44px);}

#modal-account .modal-inner a:hover{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.10);}
#modal-account .modal-inner a:focus{outline:none;box-shadow:0 0 0 3px var(--color-gruen);}
#modal-account .modal-inner a:hover,#modal-account .modal-inner a:visited{text-decoration:none;}

.modal .modal-close,.modal .btn-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:0 0 0 0 rgba(0,0,0,0);}
.modal .modal-close:hover,.modal .btn-close:hover{box-shadow:0 2px 8px rgba(0,0,0,.12);}
html.has-modal{overflow:hidden;}

.menu-columns{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2px;row-gap:10px;text-align:center}
.menu-columns div{border:1px solid #ddd;}
.menu-columns>div{padding:0 22px;}
.menu-columns ul{font-family:var(--font-sans);list-style:none;margin:.2em 0 0;padding:0;font-size:21px;letter-spacing:0.1em;}
.menu-columns li{display:block!important;margin:.25em 0;}

.modal h2{font-family: var(--font-sans); font-weight: normal; font-size: clamp(18px,calc(18px + (26 * (100vw - 375px) / 2125)),44px) ;letter-spacing:.04em;text-align:center;margin:1.05em 0 .35em;}
.modal h3{font-family: var(--font-sans); font-weight: bold; font-size: clamp(18px,1.6vw,43px);letter-spacing:0.08em;margin:1.05em 0 .35em;}
.modal em,.modal i{font-style:italic;}
.modal .menu-admin .modal-inner{position:relative;margin-top:var(--modal-top-gap);width:min(var(--modal-max-w),calc(100vw - 2*var(--modal-side-pad)));min-width:min(var(--modal-min-w),calc(100vw - 2*var(--modal-side-pad)));max-height:var(--modal-max-h);overflow:auto;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 40px rgba(0,0,0,.18);padding:var(--modal-vpad) var(--modal-hpad);color:inherit;line-height:1.5;}
#modal-admin a{color:#fff;text-decoration:underline;font-weight:500;}
#modal-admin a:hover,#modal-account a:hover{text-decoration:underline;text-underline-offset:.14em;}
#modal-admin a:visited,#modal-account a:visited{color:var(--color-orange-dezent);}
.modal hr{display:none!important;}

@media (max-width:1024px){.menu-columns{grid-template-columns:repeat(2,minmax(0,1fr));background:linear-gradient(to bottom,var(--sep),var(--sep)) 50% 0/1px 100% no-repeat;}}
@media (max-width:640px){:root{--modal-side-pad:18px;--modal-top-gap:48px;}.menu-columns{grid-template-columns:1fr;background:none;}.menu-columns>div{padding:0;}}

.menu-list{list-style:none;margin:0;padding:0;}
.menu-list li{margin:.35em 0;}
.menu-list a{display:block;padding:2px 0;color:#fff;text-decoration:underline;}
.menu-list a:hover{text-decoration:underline;text-underline-offset:.15em;}
.inline-form{display:inline;margin:0;}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;}
.modal input[type="text"],.modal input[type="search"]{width:100%;padding:12px 14px;font-size:18px;border:1px solid var(--color-braun);border-radius:10px;}
.modal input:focus{outline:none;border-color:var(--color-gruen);box-shadow:0 0 0 3px var(--color-gruen);}
.modal .modal-inner{position:relative;}
.modal .modal-inner .modal-close{top:10px;right:10px;}



/* ============================
Basis: Mobile (<= 500px)
============================ */
#accw-modal-beschreibung .modal-inner {width: 92%;max-width: 60ch;max-height: 85vh;margin: 5vh auto;padding: 1.8rem 2rem;display: flex;flex-direction: column;font-size: 0.9rem;line-height: 1.55;}
#accw-modal-beschreibung-content {overflow-y: auto;padding-right: 0.6rem;}
#accw-modal-beschreibung .modal-content {padding-right: 1.6rem;box-sizing: content-box;}

/* ============================
Tablet (>= 500px)
============================ */
@media (min-width: 500px) { #accw-modal-beschreibung .modal-inner {width: 75vw;max-width: 70ch;padding: 2.2rem 2.6rem;font-size: 0.95rem;} }

/* ============================
Desktop (>= 900px)
============================ */
@media (min-width: 900px) { #accw-modal-beschreibung .modal-inner {width: 70vw;max-width: 80ch;padding: 2.4rem 3rem;font-size: 1rem;} }
/* Beschreibung-Button im Teaser */
.accw-meta .accw-modal-btn { display: inline-block;font-family: var(--font-sans);letter-spacing: var(--ls-008);font-size: clamp(11px, 0.75vw + 2px, 12px);
padding: 0.25rem 1.1rem;border-radius: 5px;background: #f4f4f4;color:#000;border: none;cursor: pointer;transition: background 0.15s ease, color 0.15s ease;}

.accw-meta .accw-modal-btn:hover {background: #8b8f69;color: #FFF;}
.accw-meta .accw-modal-btn:active {transform: translateY(1px);}


/* =====   Wein-Modals – Typografie & Zeilenlook */
/*  Wein-Modal ===== */
.modal.menu-wein .modal-inner { max-height: calc(100vh - 90px);overflow-y: auto; -webkit-overflow-scrolling: touch; width: 92vw !important; ;
max-width: 1200px !important;min-width: 0px !important;margin-left: auto;margin-right: auto;}
.modal.menu-wein { font-family: "brandon grotesque", system-ui, sans-serif; color: #222; }


/* ============================
   Hauptkategorien → H2
   ============================ */
.modal.menu-wein h1 {font-family: "palast web", "Apple Garamond", "Garamond Premier", serif;font-weight: 500;font-size: 1.45rem;line-height: 1.2;letter-spacing: 0.02em;margin: 30px 0 35px 0;text-transform: none;text-align: center;}
.modal.menu-wein h2 {font-family: "brandon grotesque", system-ui, sans-serif;font-weight: 700;font-size: 1.05rem;line-height: 1.2;margin: 1.4rem 0 0.4rem;text-transform: none;letter-spacing: 0.08em;text-align: center;}


/* ============================
   Produzenten → H4
   ============================ */
.modal.menu-wein h4 {margin: 00rem 0;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.04em;display: flex;justify-content:center;align-items:baseline;gap: 0.35rem;line-height: 1.9em;white-space: nowrap;}
.modal.menu-wein h4 a span.wr-prefix {font-weight: 400;letter-spacing: 0.0em;}
.modal.menu-wein h4 {margin: 00rem 0;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.04em;display: flex;justify-content:center;align-items:baseline;gap: 0.35rem;line-height: 1.9em;white-space: nowrap;}
.modal.menu-wein h4 a {color: #222;text-decoration: none;font-style: normal;font-weight: #807474;}
.modal.menu-wein h4 a:hover {text-decoration: underline;}

.modal.menu-wein .bobble-menu {display: inline-block;font-weight: 700;font-size: 2rem;line-height: 1;}
.modal.menu-wein .region-menu {font-family: "Garamond", "Apple Garamond", "Garamond Premier", serif;font-size: 0.65rem;font-weight: 400;line-height: 1.2;}

/* ============================
   Columns
   ============================ */
.modal.menu-wein .menu-columns {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));column-gap: 20px;row-gap: 26px;text-align: center;}
.modal.menu-wein .menu-columns > div {padding: 0 18px;}

@media (max-width: 1024px) {.modal.menu-wein .menu-columns {grid-template-columns: repeat(2, minmax(0, 1fr));} }

@media (max-width: 640px) {.modal.menu-wein .menu-columns {grid-template-columns: 1fr;}}




/* ============================================================
   ISOLIERTES CHECKOUT-MODAL CSS
   greift NUR auf personaldata- und shippingaddress-modal
============================================================ */



/* Hintergrund Login-Modal */
#login-modal.modal-weinraum .modal-inner { background: #faf8f1;border-radius: 18px;padding: 2rem 2.2rem;}
#login-modal.modal-weinraum .modal-inner, #shippingaddress-modal .modal-inner { max-height: calc(100vh - 60px); overflow-y: auto;}

.account-daten-modal input,.account-daten-modal select,.account-daten-modal textarea {background: #fff;color: #000;border: 1px solid #ccc;}
/* Priorität für Lieferadresse erzwingen */
#shippingaddress-modal input,#shippingaddress-modal select,#shippingaddress-modal textarea {background: #fff !important;border: 1px solid #bbb !important;color: #111 !important;}
/* kleinere Standardbuttons im Login-Modal */
.modal-weinraum.account-daten-modal#login-modal .modal-inner button:not(.modal-close),
.modal-weinraum.account-daten-modal#login-modal .modal-inner .wr-btn {
background: var(--color-gruen);border: 1px solid var(--color-gruen);color: #fff;font-family: var(--font-sans);font-size: .9rem;font-weight: 600;padding: .55rem 1.1rem;border-radius: 10px;display: inline-block;width: auto;cursor: pointer;margin-top: .6rem;}

.wr-addressform{display:block;width:100%;font-family:var(--font-sans);}
.wr-addressform .pd-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-row-gap);margin-bottom:var(--form-row-gap);}
.wr-addressform .pd-full{grid-column:1/-1;}
.wr-addressform .pd-70-30{grid-template-columns:70% 30%;}
.wr-addressform .pd-30-70{grid-template-columns:30% 70%;}
@media(max-width:680px){.wr-addressform .pd-row,.wr-addressform .pd-70-30,.wr-addressform .pd-30-70{grid-template-columns:1fr!important;}}
.wr-addressform label{display:flex;flex-direction:column;gap:var(--form-label-gap);font-size:var(--form-font-size-label);font-weight:600;color:#222;}
.wr-addressform input,.wr-addressform select,.wr-addressform textarea{height:var(--form-input-height-desktop);padding:0 .75rem;border-radius:8px;border:1px solid #bbb;background:#fff;color:#111;font-size:var(--form-font-size-input);box-sizing:border-box;}
@media(max-width:680px){.wr-addressform input,.wr-addressform select,.wr-addressform textarea{height:var(--form-input-height-mobile);}}
.wr-addressform input:focus,.wr-addressform select:focus{border-color:var(--color-gruen);outline:none;box-shadow:0 0 0 2px rgba(95,155,58,.35);}
.wr-addressform--personal .modal-inner{width:clamp(480px,55vw,780px);margin:4rem auto;}
.wr-addressform--personal .pd-row{margin-bottom:var(--form-row-gap);}
.wr-addressform--personal label{font-size:var(--form-font-size-label);}
.wr-addressform--personal input{height:var(--form-input-height-desktop);}
.wr-addressform--shipping .modal-inner{width:clamp(420px,48vw,680px);margin:3.5rem auto;}
.wr-addressform--shipping input,.wr-addressform--shipping select{height:var(--form-input-height-desktop);font-size:var(--form-font-size-input);}
.wr-addressform--shipping .pd-row{margin-bottom:calc(var(--form-row-gap)*0.9);}
.wr-addressform .pd-submit{width:100%;margin-top:var(--form-row-gap);padding:.7rem 1rem;border-radius:8px;background:var(--color-gruen);border:1px solid var(--color-gruen);color:#fff;font-size:.95rem;cursor:pointer;}
.anrede-zeile{display:flex;gap:1.2rem;width:100%;margin-bottom:1.3rem;}
.anrede-wrapper{display:flex;gap:.6rem;flex:0 0 190px;}
.anrede-box{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border:1px solid #ccc;border-radius:10px;background:#fff;cursor:pointer;position:relative;}
.anrede-text{font-size:.9rem;font-weight:600;}
.anrede-box input{opacity:0;position:absolute;}
.radio-ui{width:16px;height:16px;border-radius:50%;border:2px solid #bbb;}
.anrede-box input:checked+.anrede-text+.radio-ui{background:var(--color-gruen);border-color:var(--color-gruen);}
.anrede-box:has(input:checked){background:rgba(112,160,60,.13);border-color:var(--color-gruen);}
@media(max-width:680px){.anrede-zeile{flex-direction:column;}.anrede-wrapper{flex-direction:column;gap:.6rem;}}
.fake-select{position:relative;width:100%;}
.fake-select-display{background:#fff;border:1px solid #aaa;border-radius:8px;padding:.55rem .8rem;cursor:pointer;font-size:var(--form-font-size-input);}
.fake-select.fake-select-open .fake-select-display{border-color:var(--color-gruen);box-shadow:0 0 0 2px rgba(95,155,58,.35);}
.fake-select-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #bbb;border-radius:8px;z-index:50;}
.fake-select-item{padding:.5rem .8rem;cursor:pointer;}
.fake-select-item:hover{background:var(--color-gruen);color:#fff;}
@media(max-width:480px){.wr-addressform--shipping .modal-inner{width:90%!important;margin:2rem auto!important;}.wr-addressform .pd-row{margin-bottom:calc(var(--form-row-gap)*0.6)!important;}.wr-addressform label{gap:calc(var(--form-label-gap)*0.8)!important;}}

/* Login Modal - Fehlermeldungen */
.login-error,.login-success{display:none;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem;}
.login-error.show,.login-success.show{display:block;}
.login-error{background:#fee;border:1px solid #c00;color:#900;}
.login-success{background:#efe;border:1px solid #0a0;color:#060;}
