/* WooCommerce + Germanized markup (cart, checkout, account, notices) in the proLIBRIS design.
   WooCommerce's own stylesheets are switched off in functions.php; everything they need is here. */


/* ---------- generic content pages (legal texts) ---------- */
.prose{max-width:760px;padding:8px 0 64px;overflow-wrap:break-word}   /* long words and URLs in legal texts wrap on phones */
.prose h1,.prose h2,.prose h3{-webkit-hyphens:auto;hyphens:auto}
.prose a{overflow-wrap:anywhere}
.prose h2{font-size:1.3rem;margin:32px 0 10px}
.prose h3{font-size:1.1rem;margin:24px 0 8px}
.prose p,.prose li{line-height:1.65;color:var(--text)}
.prose a{color:var(--link)}
.prose table{border-collapse:collapse;width:100%;margin:12px 0 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.prose tr:last-child td{border-bottom:0}

/* ---------- buttons + form controls ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,#place_order{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font:inherit;font-weight:600;font-size:.95rem;padding:12px 20px;border-radius:var(--r);border:1.5px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s var(--ease)}
.woocommerce .button:hover,#place_order:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.woocommerce .button:active,#place_order:active{transform:scale(.98)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:default}
.woocommerce button[name="update_cart"],.woocommerce .coupon .button,.woocommerce-Button--previous,.woocommerce .button.wc-backward{background:transparent;color:var(--text);border-color:var(--line-strong)}
.woocommerce button[name="update_cart"]:hover,.woocommerce .coupon .button:hover{background:var(--surface-2)}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce form .form-row label{font-weight:600;font-size:.9rem}
.woocommerce form .form-row label .optional{font-weight:400;color:var(--muted)}
.woocommerce form .form-row .required{color:#a3262a;text-decoration:none;border:0}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce .select2-container .select2-selection--single,.woocommerce-cart .qty{font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1.5px solid var(--input-border);border-radius:var(--r);padding:11px 13px;width:100%;transition:border-color .2s,box-shadow .2s}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgb(132 169 224/.35)}
.woocommerce .select2-container .select2-selection--single{height:auto;min-height:46px;display:flex;align-items:center}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);padding:0;line-height:1.4}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:8px}
.select2-dropdown{border-color:var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--text)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--navy)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a3262a}
.co-err{margin:0;font-size:.86rem;color:#a3262a}   /* error text under a checkout field (checkout.js) */
@media (prefers-color-scheme:dark) and (max-width:768px){:root:not([data-theme="light"]) .co-err,:root:not([data-theme="light"]) .woocommerce form .form-row .required{color:#ff9a9a}}
:root[data-theme="dark"] .co-err,:root[data-theme="dark"] .woocommerce form .form-row .required{color:#ff9a9a}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:auto}
.woocommerce .woocommerce-input-wrapper{display:block}
.woocommerce label.checkbox,.woocommerce .woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:500;cursor:pointer}

/* ---------- notices ---------- */

/* ---------- cart ---------- */
.woo-warenkorb .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start;padding:20px 0 56px}
.woo-warenkorb .woocommerce-notices-wrapper{grid-column:1/-1}
.woo-warenkorb .woocommerce-cart-form{min-width:0}
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.woocommerce table.shop_table th{font-size:.82rem;font-weight:600;color:var(--muted);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
.woocommerce table.cart .product-thumbnail img{width:64px;height:auto;border-radius:1px;box-shadow:0 1px 2px rgb(20 49 76/.2),0 6px 12px -4px rgb(20 49 76/.35)}
.woocommerce table.cart .product-name a{font-weight:600;text-decoration:none}
.woocommerce table.cart .product-name a:hover{text-decoration:underline}
.woocommerce table.cart .product-remove a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;text-decoration:none;color:var(--muted);font-size:1.3rem;line-height:1}
.woocommerce table.cart .product-remove a:hover{background:var(--surface-2);color:#a3262a}
.woocommerce table.cart .product-subtotal,.woocommerce table.cart .product-price{font-variant-numeric:tabular-nums;white-space:nowrap}
.woocommerce table.cart .product-subtotal{font-weight:700}
.woocommerce-cart .woocommerce input.qty{width:72px;max-width:72px;text-align:center;padding:9px 6px}   /* beats the 100% width of input.input-text above */
.woocommerce table.cart td.actions{background:var(--surface-2)}
.woocommerce table.cart td.actions .coupon{display:inline-flex;gap:8px;align-items:center}
.woocommerce table.cart td.actions .coupon label{display:none}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;padding:9px 12px}
.woocommerce table.cart td.actions>.button{float:right}
.cart-collaterals{min-width:0}
.cart_totals{position:sticky;top:calc(var(--hd) + 20px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.cart_totals h2{font-size:1.15rem;margin:0 0 12px}
.cart_totals table.shop_table{border:0;background:none}
.cart_totals table.shop_table th,.cart_totals table.shop_table td{padding:8px 0;border-bottom:0;font-size:.95rem;color:var(--text);font-weight:400;vertical-align:top}
.cart_totals table.shop_table td{text-align:right;font-variant-numeric:tabular-nums}
.cart_totals .order-total th,.cart_totals .order-total td{border-top:1px solid var(--line);padding-top:14px;font-size:1.15rem;font-weight:700}
.cart_totals .tax-rate th,.cart_totals .tax-rate td,.cart_totals .order-tax th,.cart_totals .order-tax td,.cart_totals small{font-size:.84rem;color:var(--muted)}
.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:.84rem;color:var(--muted);margin:4px 0 0}
.shipping-calculator-button{color:var(--link)}
.wc-proceed-to-checkout{margin-top:16px}
.wc-proceed-to-checkout .checkout-button{width:100%}
.cart-empty.woocommerce-info{justify-content:center;border-left-width:1px;padding:40px 20px;font-size:1.05rem}
.return-to-shop{text-align:center}
.woo-warenkorb .cross-sells{grid-column:1/-1}

/* ---------- checkout ---------- */
.woo-kasse .woocommerce{padding:12px 0 56px}
.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle{max-width:none}
form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-areas:"details review";column-gap:36px;align-items:start}
form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
#customer_details{grid-area:details;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px}
#customer_details .col-1,#customer_details .col-2{width:auto;float:none}
#customer_details h3{font-size:1.2rem;margin:0 0 16px}
#customer_details .col-2{margin-top:12px;border-top:1px solid var(--line);padding-top:20px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.woocommerce-shipping-fields__field-wrapper .form-row-wide,.woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
#ship-to-different-address{font-size:1rem;margin:0 0 12px}
#ship-to-different-address label{display:flex;gap:10px;align-items:center;cursor:pointer}
/* Germanized moves the headings + payment inside #order_review: payment, legal checkboxes, items, submit */
#order_review{grid-area:review;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;position:sticky;top:calc(var(--hd) + 20px);box-shadow:var(--shadow)}
#order_review h3,#order_review_heading{font-size:1.1rem;margin:0 0 12px;padding:0;background:none;border:0}
#order_review h3#order_review_heading{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
#order_review .wc-gzd-checkbox-placeholder:empty{display:none}
#order_review .wc-gzd-checkbox-placeholder{margin:0 0 10px}
#order_review table.shop_table{border:0;background:none}
#order_review table.shop_table th,#order_review table.shop_table td{padding:9px 0;font-size:.93rem;border-bottom:1px solid var(--line);color:var(--text)}
#order_review table.shop_table thead{display:none}
#order_review table.shop_table td.product-total,#order_review table.shop_table tfoot td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#order_review .order-total th,#order_review .order-total td{font-size:1.15rem;font-weight:700;border-bottom:0;padding-top:14px}
#order_review .product-quantity{font-weight:400;color:var(--muted)}
#payment{margin-top:16px}
#payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
#payment ul.payment_methods li{padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:var(--r)}
#payment ul.payment_methods li:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 3px rgb(132 169 224/.3)}
#payment ul.payment_methods li>label{font-weight:600;display:inline-flex;gap:8px;align-items:center;cursor:pointer}
#payment ul.payment_methods li>input{margin-right:8px;vertical-align:-3px}
#payment .payment_box{margin-top:8px;font-size:.88rem;color:var(--muted)}
#payment .payment_box p{margin:0}
.woocommerce-terms-and-conditions-wrapper,.wc-gzd-checkbox-placeholder,.legal{font-size:.9rem}
.woocommerce-terms-and-conditions-wrapper p,.wc-gzd-checkbox-placeholder p{margin:0 0 12px}
.woocommerce-privacy-policy-text{font-size:.82rem;color:var(--muted)}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a,.wc-gzd-checkbox-placeholder a{color:var(--link)}
#place_order{width:100%;padding:15px 20px;font-size:1rem;margin-top:8px}
.wc-gzd-order-submit{margin-top:8px}

/* ---------- thank-you page ---------- */
.woocommerce-order{padding:12px 0 56px}
.woocommerce-thankyou-order-received{font-size:1.15rem;font-weight:600;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:var(--r);padding:16px 20px}
ul.woocommerce-order-overview{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:18px 0 28px}
ul.woocommerce-order-overview li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;font-size:.82rem;color:var(--muted)}
ul.woocommerce-order-overview li strong{display:block;color:var(--text);font-size:1rem;margin-top:2px}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:28px}
.woocommerce-order-details__title,.woocommerce-column__title{font-size:1.2rem}
.woocommerce-customer-details address{font-style:normal;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;line-height:1.6}

/* ---------- my account ---------- */
.woo-konto .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start;padding:20px 0 64px}
.woo-konto .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;position:sticky;top:calc(var(--hd) + 20px)}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;border-radius:var(--r);text-decoration:none;font-weight:500}
.woocommerce-MyAccount-navigation a:hover{background:var(--surface-2)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--surface-3);font-weight:600}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>p:first-child{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.woocommerce-MyAccount-content a{color:var(--link)}
.woocommerce-MyAccount-content .button{color:var(--btn-fg)}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-Address{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center}
.woocommerce-Address-title h2{font-size:1.05rem;margin:0}
.woocommerce-Address address{font-style:normal;line-height:1.6;margin-top:8px}
.woocommerce-EditAccountForm,.woocommerce-address-fields{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.woocommerce-EditAccountForm fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:8px 0 18px}
.woocommerce-EditAccountForm legend{font-weight:600;padding:0 6px}
/* login / register (logged out) */
.woo-konto .woocommerce:has(#customer_login),.woo-konto .woocommerce:has(.woocommerce-form-login){display:block}
#customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px}
#customer_login .u-column1,#customer_login .u-column2{width:auto;float:none}
#customer_login h2{font-size:1.25rem;margin:0 0 14px}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;margin:0}
.woocommerce-form-login__rememberme{margin-bottom:14px}
.woocommerce-LostPassword{margin:14px 0 0}
.woocommerce-LostPassword a{color:var(--link)}
.woocommerce-password-strength{font-size:.84rem;margin-top:6px}
.woocommerce-password-hint{font-size:.82rem;color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .woo-warenkorb .woocommerce{grid-template-columns:minmax(0,1fr)}
  .cart_totals{position:static}
  form.checkout{grid-template-columns:minmax(0,1fr);grid-template-areas:"details" "review";row-gap:20px}
  #order_review{position:static}
  .woo-konto .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-MyAccount-navigation ul{position:static;flex-direction:row;overflow-x:auto}
  .woocommerce-MyAccount-navigation a{white-space:nowrap}
}
@media (max-width:768px){
  .woocommerce table.cart thead{display:none}
  .woocommerce table.cart tr.cart_item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img name remove" "img price qty" "img sub sub";gap:6px 14px;padding:14px;border-bottom:1px solid var(--line)}
  .woocommerce table.cart tr.cart_item td{display:block;padding:0;border:0}
  .woocommerce table.cart .product-thumbnail{grid-area:img}
  .woocommerce table.cart .product-name{grid-area:name}
  .woocommerce table.cart .product-remove{grid-area:remove}
  .woocommerce table.cart .product-price{grid-area:price;font-size:.88rem;color:var(--muted)}
  .woocommerce table.cart .product-quantity{grid-area:qty}
  .woocommerce table.cart .product-subtotal{grid-area:sub;text-align:right}
  .woocommerce table.cart td.actions{display:flex;flex-direction:column;gap:10px}
  .woocommerce table.cart td.actions>.button{float:none;width:100%}
  #customer_details{padding:20px}
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
  #customer_login,.woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}
}

/* =====================================================================
   Checkout in steps (assets/js/checkout.js arranges the WooCommerce form)
   ===================================================================== */
.woo-kasse .woocommerce{padding:8px 0 56px}
.co-stepper{margin:0 0 20px}
.co-stepper button,.co-stepper a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font:inherit}
.co-stepper button:hover .lbl,.co-stepper a:hover .lbl{text-decoration:underline}
form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"notices notices" "main sum";column-gap:36px;align-items:start}
form.checkout>.woocommerce-NoticeGroup{grid-area:notices}
form.checkout #order_review{display:none}
.co-main{grid-area:main;min-width:0}
.co-step{display:none}
form.checkout[data-step="1"] .co-step[data-s="1"],form.checkout[data-step="2"] .co-step[data-s="2"],form.checkout[data-step="3"] .co-step[data-s="3"]{display:block}
@media (prefers-reduced-motion:no-preference){.co-step{animation:rise .45s var(--ease) both}}
.co-step h2{font-size:1.25rem;margin:0 0 18px;outline:none}
.co-step .co-sub{margin:28px 0 12px}
.co-step .form-foot{margin-top:26px}
/* the WooCommerce field blocks inside step 1 */
form.checkout #customer_details{grid-area:auto;background:none;border:0;padding:0}
#customer_details h3{font-size:1.05rem;margin:0 0 14px}
#customer_details .col-1>.woocommerce-billing-fields>h3{display:none}
#customer_details .col-2{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:14px}
.woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-shipping-fields__field-wrapper>.form-row{grid-column:span 6}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{grid-column:span 3}
.woocommerce form .form-row-plz{grid-column:span 2}
.woocommerce form .form-row-city{grid-column:span 4}
.woocommerce form .form-row .description{font-size:.84rem;color:var(--muted);margin:0}
.woocommerce form .form-row input::placeholder,.woocommerce form .form-row textarea::placeholder{color:var(--muted)}
.woocommerce-additional-fields{margin-top:24px}
.woocommerce-additional-fields textarea{min-height:90px}
/* step 2 */
.co-ship .opt-card input{accent-color:var(--ink)}
.co-pay #payment{margin:0}
.co-pay #payment .place-order{display:none}
/* step 3 */
.co-legal{margin:6px 0 0}
.co-legal .form-row{margin-bottom:10px}
.co-legal .pl-nl-pending{display:block;font-size:.9rem;color:var(--muted)}   /* newsletter signed up, not confirmed yet (prolibris-newsletter) */
/* required legal checkbox: the asterisk in front of the sentence (Germanized puts it at the very end), clearly visible */
.co-legal label.checkbox .required{order:1;font-size:1.15em;font-weight:700;line-height:1.2;margin-left:-2px}
.co-legal label.checkbox .woocommerce-gzd-legal-checkbox-text{order:2}
.co-final{align-items:center}
.co-final .wc-gzd-order-submit,.co-final .place-order{margin:0;padding:0}
.co-final #place_order{width:auto;margin:0;padding:13px 24px}
.co-final .woocommerce-privacy-policy-text{display:none}
/* summary */
.co-sum{grid-area:sum;position:sticky;top:calc(var(--hd) + 20px)}
.co-sum-toggle{display:none}
.co-sum-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.co-sum-body h2{font-size:1.15rem;margin:0 0 10px}
.co-sum table.shop_table{border:0;background:none;width:100%}
.co-sum table.shop_table thead{display:none}
.co-sum table.shop_table th,.co-sum table.shop_table td{padding:9px 0;font-size:.93rem;border:0;border-bottom:1px solid var(--line);color:var(--text);font-weight:400;vertical-align:middle;background:none}
.co-sum table.shop_table tbody tr:last-child td{border-bottom:1px solid var(--line-strong)}
.co-sum table.shop_table td.product-total,.co-sum table.shop_table tfoot td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.co-sum table.shop_table tfoot th{text-align:left}
.co-sum .order-total th,.co-sum .order-total td{font-size:1.15rem;font-weight:700;border-bottom:0;padding-top:14px}
.co-sum .order-total small,.co-sum .includes_tax{display:block;font-size:.8rem;font-weight:400;color:var(--muted)}
.co-sum tr.order-tax th,.co-sum tr.order-tax td,.co-sum tr[class*="tax"] th,.co-sum tr[class*="tax"] td{font-size:.84rem;color:var(--muted);border-bottom:0}
.co-sum ul#shipping_method li{font-size:.9rem}
.co-item{display:flex;align-items:center;gap:12px}
.co-cover{width:42px!important;height:auto!important;flex:none;border-radius:1px;box-shadow:0 1px 2px rgb(20 49 76/.2),0 6px 12px -4px rgb(20 49 76/.35)}
.co-name{font-weight:600;line-height:1.3}
.co-name .product-quantity{display:block;font-weight:400;color:var(--muted);font-size:.84rem}

@media (max-width:1024px){
  form.checkout{grid-template-columns:minmax(0,1fr);grid-template-areas:"notices" "sum" "main"}
  .co-sum{position:static;margin-bottom:16px}
  .co-sum-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font:inherit;font-weight:600;cursor:pointer;color:var(--text)}
  .co-sum-toggle span{display:inline-flex;align-items:center;gap:8px;color:var(--link)}
  .co-sum-toggle .ph-caret-down{transition:transform .25s var(--ease)}
  .co-sum.open .co-sum-toggle .ph-caret-down{transform:rotate(180deg)}
  .co-sum-body{display:none;margin-top:8px;box-shadow:none}
  .co-sum.open .co-sum-body{display:block}
}
@media (max-width:560px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{grid-column:span 6}
  .co-final{flex-direction:column-reverse;align-items:stretch}
  .co-final #place_order{width:100%}
}.co-sum table.shop_table{table-layout:fixed}
.co-sum table.shop_table td.product-name{width:auto}
.co-sum table.shop_table td.product-total,.co-sum table.shop_table tfoot td{width:96px}
.co-sum table.shop_table tfoot th{width:auto}
.co-sum .wc-gzd-cart-info,.co-sum .product-name .wc-gzd-item-thumbnail{display:none}
.co-sum ul#shipping_method{text-align:right}
.co-sum .order-total .includes_tax{display:none}   /* Germanized prints its own VAT row below */

/* =====================================================================
   Konto in the preview design
   ===================================================================== */
.woo-konto .woocommerce{grid-template-columns:230px minmax(0,1fr)}
.acc-nav ul{gap:2px}
.acc-nav a{display:flex!important;align-items:center;gap:10px;padding:10px 12px;color:var(--text)}
.acc-nav a i{font-size:1.15rem;color:var(--muted)}
.acc-nav .is-active a{background:var(--surface-3)}
.acc-nav .is-active a i{color:var(--text)}
.acc-nav .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}
.woocommerce-MyAccount-content>p:first-child{background:none;border:0;padding:0}
.acc-h{font-size:1.2rem;margin:28px 0 14px}
.dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:8px}
.dash a{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:border-color .2s,transform .25s var(--ease)}
.dash a:hover{border-color:var(--ink);transform:translateY(-2px)}
.dash b{display:block;font-size:1.6rem;letter-spacing:-.02em;line-height:1.2}
.dash span{color:var(--muted);font-size:.9rem}
.order-actions{display:flex;flex-wrap:wrap;gap:8px}
.order .status{white-space:nowrap}
.order .status-processing,.order .status-on-hold{background:var(--note-bg,#fff4c2);color:var(--note-text,#4d3a00)}
.order .status-completed{background:var(--surface-3)}
.acc-empty{text-align:center;padding:32px 20px}
.acc-empty i{font-size:2rem;color:var(--muted)}
.acc-viewed .minis{margin-top:4px}
/* forms inside the account */
.woocommerce-EditAccountForm.panel,.woocommerce-address-fields{padding:26px}
.acc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
.acc-fields .form-row-wide{grid-column:1/-1}
.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:14px}
.woocommerce-address-fields__field-wrapper>.form-row{grid-column:span 6}
.woocommerce-Addresses .woocommerce-Address{padding:20px}
.woocommerce-Address-title .edit{font-weight:600;color:var(--link);font-size:.9rem}
.woocommerce-MyAccount-content .woocommerce-Address address{color:var(--text)}
/* login / register */
.woo-konto #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px}
#customer_login .panel{margin:0}
#customer_login .panel h2{font-size:1.25rem;margin:0 0 4px}
#customer_login .panel>.muted{margin:0 0 18px}
.reg-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
#customer_login .form-foot{margin-top:18px}
#customer_login .description{font-size:.84rem;color:var(--muted)}
.woocommerce-ResetPassword{max-width:520px}
/* order detail page (view-order) */
.woocommerce-MyAccount-content mark{background:var(--surface-2);padding:1px 6px;border-radius:4px}
@media (max-width:1024px){
  .woo-konto .woocommerce{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .woo-konto #customer_login,.dash,.acc-fields,.reg-names{grid-template-columns:minmax(0,1fr)}
}
/* thank-you page */
.ty{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start}
.ty-main .success{text-align:left;padding:4px 0 8px}
.ty-main .success .big{margin:0 0 14px}
.ty-main .success h2{font-size:1.3rem}
.ty-main .review{margin-top:18px}
.ty-sum{position:sticky;top:calc(var(--hd) + 20px)}
.ty-sum .sum-row:first-of-type{border-top:1px solid var(--line);padding-top:14px}
@media (max-width:1024px){.ty{grid-template-columns:minmax(0,1fr)}.ty-sum{position:static}}
/* WooCommerce "show password" toggle as a small text button inside the field */
.woocommerce .password-input{position:relative;display:block}
.woocommerce .password-input input{padding-right:96px}
.woocommerce .show-password-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--link);font:inherit;font-size:.82rem;font-weight:600}
.woocommerce .show-password-input:hover{background:var(--surface-2)}
.woocommerce .show-password-input::after{content:"Anzeigen"}
.woocommerce .show-password-input.display-password::after{content:"Verbergen"}
.woocommerce-MyAccount-content a.btn{color:var(--btn-fg)}
.woocommerce-MyAccount-content a.btn.ghost{color:var(--text)}
.woocommerce-MyAccount-content a.btn:hover{text-decoration:none}

.woocommerce form .acc-fields .form-row-first,.woocommerce form .acc-fields .form-row-last{grid-column:span 1}
@media (max-width:1024px){
  .acc-nav .woocommerce-MyAccount-navigation-link--customer-logout{margin:0 0 0 auto;border-top:0;padding-top:0}
  .acc-nav ul{align-items:center}
}
@media (max-width:640px){.woocommerce form .acc-fields .form-row-first,.woocommerce form .acc-fields .form-row-last{grid-column:1/-1}}
/* ---------- Konto: single order (view-order.php) ---------- */
.vo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:4px 0 18px}
.vo-head h2{margin:0 0 4px;font-size:1.4rem}
.vo-head p{margin:0}
.vo-head .status{font-size:.82rem;font-weight:600;padding:4px 10px;border-radius:var(--r);background:var(--surface-2);white-space:nowrap}
.vo-head .status-processing,.vo-head .status-on-hold{background:var(--note-bg,#fff4c2);color:var(--note-text,#4d3a00)}
.vo-head .status-completed{background:var(--surface-3)}
.vo{display:grid;gap:16px}
.vo .panel{padding:22px 24px;margin:0}
.vo .panel h3{font-size:1rem;margin:0 0 14px}
.vo-items .sum-items{max-height:none;margin:0;display:grid;gap:12px;list-style:none;padding:0}
.vo-items .sum-items a{color:inherit;text-decoration:none}
.vo-items .sum-items a:hover b{text-decoration:underline}
.vo-totals{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.vo-totals .sum-row.total{font-size:1.05rem}
.vo-info{margin:0;gap:12px}
.vo-info .box{background:var(--surface);line-height:1.55}
.vo-notes ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vo-notes li{padding-top:12px;border-top:1px solid var(--line)}
.vo-notes li:first-child{padding-top:0;border-top:0}
.vo-notes li p{margin:4px 0 0}
.vo .order-actions{margin-top:2px}
@media (max-width:560px){.vo-head{flex-direction:column;gap:8px}.vo .panel{padding:18px}}

/* ---------- Konto: Downloads ---------- */
.dl-new{display:inline-block;margin-left:auto;padding:1px 7px;border-radius:var(--r);background:var(--ok,#1f7a45);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1.5}
.btn .dl-new{margin-left:4px}
.dl-intro{margin:-4px 0 16px}
.dl-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dl-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.dl-cover img{display:block;width:48px;height:auto;border-radius:3px;box-shadow:0 1px 4px rgba(20,49,76,.18)}
.dl-t{min-width:0;display:flex;flex-direction:column;gap:2px}
.dl-t a{color:inherit;text-decoration:none}
.dl-t a:hover b{text-decoration:underline}
.dl-t small{font-size:.85rem}
.dl-files{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.dl-hint{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--ok,#1f7a45);border-radius:var(--r);background:var(--surface);color:var(--text);text-decoration:none}
.dl-hint>i:first-child{font-size:1.4rem;color:var(--ok,#1f7a45)}
.dl-hint span{flex:1}
.dl-hint:hover b{text-decoration:underline}
@media (max-width:560px){
  .dl-item{grid-template-columns:40px minmax(0,1fr);gap:12px}
  .dl-cover img{width:40px}
  .dl-files{grid-column:1/-1;justify-content:flex-start}
}
