/*
Theme Name: HvC Commerce
Theme URI: https://hvc.de/
Author: Hubert von Carnap GmbH & Co. KG
Description: Schlankes WooCommerce-Theme für den HvC Geschäftskundenshop.
Version: 0.4.5
Text Domain: hvc-commerce
*/

/* Native contact links stay in the footer; no overlay covers mobile products. */
.hvc-contact-links{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:100%}
.hvc-contact-links a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.hvc-contact-links a:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Existing WordPress articles remain readable independently of the shop catalog. */
.hvc-post h1{overflow-wrap:anywhere;hyphens:auto}
.hvc-post .entry-content{max-width:78ch}
.hvc-post .entry-content a{text-decoration:underline;text-underline-offset:3px}
.hvc-post .page-links{display:flex;flex-wrap:wrap;gap:12px;margin-block:28px}
.hvc-post .page-links>*{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}

:root{--blue:#0873ba;--blue-dark:#00558f;--navy:#061d31;--ink:#0b2132;--muted:#587080;--line:#d5e1e8;--paper:#f3f8fb;--white:#fff;--wide:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.screen-reader-text:focus{z-index:100000;top:8px;left:8px;width:auto;height:auto;padding:12px;background:#fff;clip:auto}.site-width{width:min(var(--wide),calc(100% - 48px));margin-inline:auto}.utility{background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.utility .site-width{display:flex;min-height:36px;align-items:center;justify-content:space-between}.site-header{position:sticky;z-index:999;top:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 8px 28px rgba(6,29,49,.06);backdrop-filter:blur(12px)}.admin-bar .site-header{top:32px}.nav-row{display:flex;min-height:88px;align-items:center;gap:30px}.brand{display:flex;margin-right:auto}.brand img{width:auto;height:48px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--blue)}.cart-link{display:flex;min-height:48px;align-items:center;gap:10px;padding:0 18px;background:var(--blue);color:#fff;font-size:14px;font-weight:800}.cart-link:hover{background:var(--blue-dark)}.cart-count{display:grid;min-width:24px;height:24px;place-items:center;border-radius:50%;background:#fff;color:var(--blue);font-size:12px}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font:700 16px Arial;cursor:pointer}.b2b-notice{padding:14px 24px;background:#0069b4;color:#fff;text-align:center}.site-main{min-height:55vh;padding-block:58px}.site-main>.woocommerce,.site-main>.page-content,.site-main>.entry-content,.site-main>.archive-header{width:min(var(--wide),calc(100% - 48px));margin-inline:auto}h1,h2,h3{margin-top:0;color:var(--navy);font-weight:500;letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(42px,6vw,76px)}h2{font-size:clamp(30px,4vw,48px)}.woocommerce .woocommerce-breadcrumb{margin-bottom:30px;color:var(--muted);font-size:13px}.woocommerce .woocommerce-breadcrumb a{color:var(--blue)}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:22px;border:1px solid var(--line);background:#fff;transition:.18s ease}.woocommerce ul.products li.product:hover{border-color:var(--blue);box-shadow:0 18px 45px rgba(6,29,49,.1);transform:translateY(-3px)}.woocommerce ul.products li.product a img{aspect-ratio:1/1;margin:0!important;background:var(--paper);object-fit:contain}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:18px 0 8px;font-size:21px;line-height:1.25}.woocommerce .price{color:var(--blue)!important;font-weight:700}.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.checkout-button{min-height:48px;padding:14px 20px!important;border:0!important;border-radius:0!important;background:var(--blue)!important;color:#fff!important;font:800 14px Arial!important}.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce input.button:hover{background:var(--blue-dark)!important;color:#fff!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--blue)!important;background:var(--paper)!important;color:var(--ink)!important}.woocommerce-message:before,.woocommerce-info:before{color:var(--blue)!important}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:64px}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important}.woocommerce div.product .product_title{font-size:clamp(38px,5vw,64px)}.woocommerce table.shop_table{border-color:var(--line);border-radius:0}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:48px;padding:11px 13px;border:1px solid #aebfca;background:#fff;font:inherit}.woocommerce .cart-collaterals .cart_totals{width:min(100%,480px)}.site-footer{margin-top:70px;background:var(--navy);color:rgba(255,255,255,.75)}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;padding-block:62px}.footer-grid>div{display:flex;align-items:flex-start;flex-direction:column;gap:9px}.footer-grid img{width:auto;height:48px}.footer-grid strong{margin-bottom:10px;color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;min-height:62px;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);font-size:13px}
@media(max-width:900px){.admin-bar .site-header{top:46px}.primary-nav{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:8px 24px 20px;border-top:3px solid var(--blue);background:#fff;box-shadow:0 18px 40px rgba(6,29,49,.14)}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce div.product{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-width,.site-main>.woocommerce,.site-main>.page-content,.site-main>.entry-content,.site-main>.archive-header{width:min(100% - 28px,var(--wide))}.utility .site-width{min-height:34px}.utility span:last-child{font-size:11px}.nav-row{min-height:72px;gap:12px}.brand img{height:35px}.menu-toggle{padding:8px}.cart-link{width:46px;min-height:46px;justify-content:center;padding:0;font-size:0}.cart-link:before{content:'\1F6D2';font-size:20px}.cart-count{position:absolute;margin:-29px 0 0 28px;min-width:17px;width:17px;height:17px;font-size:10px}.b2b-notice{padding:12px 18px;font-size:13px}.site-main{padding-block:36px}.woocommerce ul.products{grid-template-columns:1fr;gap:18px}.woocommerce ul.products li.product{padding:16px}.woocommerce div.product .product_title{font-size:38px}.woocommerce table.shop_table_responsive tr td{padding:12px!important}.footer-grid{grid-template-columns:1fr;gap:32px;padding-block:46px}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;gap:3px;padding-block:18px}}

body{overflow-x:hidden}.woocommerce div.product .product_title{overflow-wrap:anywhere}.footer-grid img{filter:brightness(0) invert(1)}

/* 0.2: product, cart, checkout and account */
.woocommerce .woocommerce-result-count{margin:12px 0 28px;color:var(--muted)}
.woocommerce .woocommerce-ordering{margin:0 0 28px}.woocommerce .woocommerce-ordering select{min-width:230px;padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.single-product .site-main>.woocommerce{padding-top:8px}.woocommerce div.product .woocommerce-product-gallery{padding:24px;background:var(--paper)}
.woocommerce div.product .summary{align-self:start;padding-top:12px}.woocommerce div.product .summary .price{margin:18px 0;font-size:27px}.woocommerce div.product form.cart{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-top:25px}
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:10px}.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{padding:8px 8px 8px 0;text-align:left}.woocommerce div.product form.cart select{min-height:48px;padding:10px;border:1px solid #aebfca;background:#fff}
.woocommerce .quantity .qty{min-height:48px;border:1px solid #aebfca}.woocommerce div.product .product_meta{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .up-sells{grid-column:1/-1;margin-top:40px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0 4px 0 0;padding:0 20px;border:0;border-radius:0;background:var(--paper)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--blue);color:#fff}.woocommerce div.product .woocommerce-tabs .panel{padding:28px 0}
.woocommerce-cart-form{margin-bottom:38px}.woocommerce-cart table.cart img{width:92px}.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{padding:18px 14px}.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end}.woocommerce-cart .cart_totals{padding:28px;border-top:4px solid var(--blue);background:var(--paper)}.woocommerce-cart .cart_totals h2{font-size:30px}.woocommerce-cart .wc-proceed-to-checkout{padding-bottom:0}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:28px 52px}.woocommerce-checkout #customer_details{grid-row:1/4}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}.woocommerce-checkout #order_review_heading{margin:0;padding:28px 28px 0;background:var(--paper);font-size:30px}.woocommerce-checkout #order_review{padding:18px 28px 28px;background:var(--paper)}.woocommerce-checkout #payment{border-radius:0;background:#eaf3f8}.woocommerce-checkout #payment div.payment_box{background:#fff}.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#fff}.woocommerce-checkout .woocommerce-billing-fields h3,.woocommerce-checkout .woocommerce-additional-fields h3{font-size:32px}.woocommerce-checkout .form-row-wide{width:100%}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px}.woocommerce-account .woocommerce:before,.woocommerce-account .woocommerce:after{display:none}.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;border-top:3px solid var(--blue)}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--paper);font-weight:700}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--blue);color:#fff}.woocommerce-account form.login,.woocommerce-account form.register{margin-top:20px;border-color:var(--line);border-radius:0}
.woocommerce-error{border-top-color:#b32727}.woocommerce-error:before{color:#b32727}.woocommerce form .form-row label{font-weight:700}.woocommerce form .form-row .required{color:#b32727}

@media(max-width:900px){.woocommerce-checkout form.checkout{display:block}.woocommerce-checkout #order_review_heading{margin-top:38px}.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce-cart .cart-collaterals{display:block}}
@media(max-width:600px){.utility .site-width{gap:8px}.utility span:last-child a:first-child{display:none}.b2b-notice strong{display:block}.woocommerce .woocommerce-ordering{float:none}.woocommerce .woocommerce-ordering select{width:100%}.woocommerce div.product .woocommerce-product-gallery{padding:12px}.woocommerce div.product form.cart{display:block}.woocommerce div.product form.cart .quantity,.woocommerce div.product form.cart .single_add_to_cart_button{width:100%;margin:0 0 10px}.woocommerce div.product form.cart .quantity .qty{width:100%}.woocommerce div.product .woocommerce-tabs ul.tabs{display:grid}.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0 0 2px}.woocommerce-cart table.shop_table_responsive tr{margin-bottom:20px;border:1px solid var(--line)}.woocommerce-cart table.shop_table_responsive tr td{border-top:1px solid var(--line)!important}.woocommerce-cart .cart_totals{padding:20px}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{padding-right:18px;padding-left:18px}.woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}.woocommerce-account .woocommerce-MyAccount-navigation a{padding:11px 14px}}

/* The installed Germanized checkout uses its own three-step wrapper. */
.woocommerce-checkout form.checkout{display:block!important;width:100%;max-width:960px;margin-inline:auto}
.woocommerce-checkout form.checkout .step-wrapper-address,.woocommerce-checkout form.checkout #customer_details{display:block!important;width:100%!important;max-width:none!important;float:none!important}
.woocommerce-checkout form.checkout .col2-set .col-1,.woocommerce-checkout form.checkout .col2-set .col-2{width:100%!important;max-width:none!important;float:none!important}
.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout form.checkout #order_review{width:100%;max-width:none;margin-top:28px}
.woocommerce-checkout form.checkout .form-row-first,.woocommerce-checkout form.checkout .form-row-last{width:calc(50% - 10px)}
.woocommerce-checkout form.checkout .form-row-first{margin-right:20px}
.woocommerce-checkout form.checkout .step-buttons,.woocommerce-checkout form.checkout [id^="next-step"]{margin-top:22px}
@media(max-width:600px){.woocommerce-checkout form.checkout .form-row-first,.woocommerce-checkout form.checkout .form-row-last{width:100%;margin-right:0}}

/* 0.2.2: calmer product typography and robust small-screen sizing. */
.single-product .woocommerce div.product .product_title{max-width:18ch;font-size:clamp(38px,4vw,54px);overflow-wrap:normal;word-break:normal;hyphens:auto}
@media(max-width:600px){
 .single-product .woocommerce div.product .product_title{max-width:none;font-size:34px;line-height:1.12}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px;overflow-wrap:normal;word-break:normal;hyphens:auto}
 .brand{min-width:0}.brand img{max-width:100%;height:auto;max-height:35px}
}


/* 0.3: dedicated shop landing page */
.shop-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);min-height:430px;margin:-58px 0 68px;background:var(--paper);overflow:hidden}
.shop-hero-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:72px max(24px,calc((100vw - var(--wide))/2))}
.shop-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.shop-eyebrow:before{width:34px;height:2px;background:var(--blue);content:''}
.shop-hero h1{max-width:660px;margin-bottom:24px;font-size:clamp(48px,6vw,82px)}.shop-hero h1 em{color:var(--blue);font-family:Georgia,serif;font-weight:400}.shop-hero-copy>p:not(.shop-eyebrow){max-width:620px;margin:0 0 30px;color:var(--muted);font-size:18px}
.shop-hero-action{display:inline-flex;min-height:52px;align-items:center;padding:0 23px;background:var(--blue);color:#fff;font-size:14px;font-weight:800}.shop-hero-action:hover,.shop-hero-action:focus-visible{background:var(--blue-dark);color:#fff}
.shop-hero-visual{position:relative;display:grid;min-height:430px;place-items:center;background:#dce9f1}.shop-hero-visual img{width:min(82%,620px);height:78%;object-fit:contain;mix-blend-mode:multiply}.shop-hero-visual:after{position:absolute;right:24px;bottom:20px;color:var(--muted);content:'VERPACKT IN WINDECK';font-size:10px;font-weight:800;letter-spacing:.16em;writing-mode:vertical-rl}
.post-type-archive-product .site-main{padding-top:58px}.post-type-archive-product .site-main>.woocommerce{scroll-margin-top:130px}.post-type-archive-product .woocommerce-products-header{display:none}
.shop-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:70px}.shop-intro article{padding:30px;border-top:3px solid var(--blue);background:var(--paper)}.shop-intro h2{margin-bottom:10px;font-size:25px}.shop-intro p{margin:0;color:var(--muted)}
@media(max-width:900px){.shop-hero{grid-template-columns:1fr;margin-top:-36px}.shop-hero-copy{padding:56px 24px}.shop-hero-visual{min-height:330px}.shop-intro{grid-template-columns:1fr}}
@media(max-width:600px){.shop-hero{margin-bottom:46px}.shop-hero-copy{padding:44px 18px}.shop-hero h1{font-size:46px}.shop-hero-copy>p:not(.shop-eyebrow){font-size:16px}.shop-hero-visual{min-height:270px}.shop-intro{margin-top:45px}.shop-intro article{padding:24px}}

/* 0.3.1: consistent white product-image canvases. */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product a img,
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .flex-viewport,
.woocommerce div.product .flex-control-thumbs li {
  background:#fff!important;
}

/* Native descriptions and legacy product videos, independent of Divi. */
.hvc-product-description{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:48px;align-items:start;padding:34px;background:#fff}
.hvc-product-video video{display:block;width:100%;height:auto;background:#fff}
.hvc-product-copy h2{font-size:clamp(30px,3.2vw,46px)}
.hvc-product-copy h3{margin:24px 0 8px;font-size:22px}
.hvc-product-copy p{color:var(--muted)}
.hvc-product-copy a{color:var(--blue);font-weight:700}
@media(max-width:800px){.hvc-product-description{grid-template-columns:1fr;gap:28px;padding:20px 0}}
