/* ==========================================================================
   Il piccolo artigiano – tema (mobile-first)
   ========================================================================== */
:root{
	--ink:#1d1d1b;--ink-2:#44443f;--muted:#5c5b55;--line:#e4e2db;--paper:#faf9f6;--paper-2:#f1efe8;--white:#fff;
	--brand:#1f4e8c;--brand-dark:#173a69;--brand-light:#e6eef8;--accent:#b8742a;--ok:#1f8f4e;--danger:#c0392b;--wa:#0e7a3e;
	--serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	--r:14px;--shadow:0 10px 30px rgba(29,29,27,.08);--container:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.01em}
h1{font-size:clamp(28px,5vw,44px)}h2{font-size:clamp(24px,3.6vw,34px)}h3{font-size:20px}h4{font-size:16px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;left:8px;top:8px;background:#fff;padding:8px;z-index:9999}
.ipa-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 16px}
@media(min-width:768px){.ipa-container{padding:0 28px}}

/* Bottoni */
.ipa-btn,.button,.wc-block-components-button,button.single_add_to_cart_button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);font-weight:700;font-size:16px;line-height:1.2;cursor:pointer;text-decoration:none!important;min-height:48px;transition:.15s;font-family:var(--sans)}
.ipa-btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.ipa-btn-primary,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,button.single_add_to_cart_button,.woocommerce #respond input#submit.alt,.wc-block-components-button:not(.is-link){background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}
.ipa-btn-primary:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,button.single_add_to_cart_button:hover{background:var(--brand-dark)!important;border-color:var(--brand-dark)!important}
.ipa-btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}.ipa-btn-wa:hover{background:#0a6e40;border-color:#0a6e40;color:#fff}
.ipa-btn-wa::before{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.5 0 .2 5.3.2 11.9c0 2.1.5 4.1 1.6 5.9L0 24l6.3-1.7a11.9 11.9 0 0 0 5.7 1.5c6.6 0 11.9-5.3 11.9-11.9 0-3.2-1.2-6.2-3.4-8.4zM12.1 21.8c-1.8 0-3.5-.5-5-1.4l-.4-.2-3.7 1 1-3.6-.2-.4a9.8 9.8 0 0 1-1.5-5.2c0-5.4 4.4-9.9 9.9-9.9 2.6 0 5.1 1 7 2.9a9.8 9.8 0 0 1 2.9 7c0 5.4-4.5 9.8-10 9.8zm5.4-7.4c-.3-.1-1.8-.9-2-1-.3-.1-.5-.1-.7.1l-.9 1.2c-.2.2-.3.2-.6.1-.3-.1-1.3-.5-2.4-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6l.4-.5.3-.5c.1-.2 0-.4 0-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.1.2 2.1 3.2 5.1 4.5l1.7.6c.7.2 1.4.2 1.9.1.6-.1 1.8-.7 2-1.4.2-.7.2-1.3.2-1.4-.1-.2-.3-.3-.6-.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.ipa-link{font-weight:700}

/* Top bar + header */
.ipa-topbar{background:var(--brand-dark);color:#d9d7cf;font-size:13px}
.ipa-topbar-in{display:flex;justify-content:space-between;gap:12px;padding-top:7px;padding-bottom:7px;align-items:center}
.ipa-topbar a{color:#fff;font-weight:600;white-space:nowrap}
@media(max-width:600px){.ipa-topbar-in span{display:none}.ipa-topbar-in{justify-content:center}}
.ipa-header{position:sticky;top:0;z-index:50;background:rgba(250,249,246,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .ipa-header{top:32px}@media(max-width:782px){.admin-bar .ipa-header{top:46px}}
.ipa-header-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:70px}
.ipa-logo img{width:auto;height:52px;transition:.2s}
.ipa-header.is-stuck .ipa-logo img{height:44px}
.ipa-nav-list,.ipa-nav-list ul{list-style:none;margin:0;padding:0}
.ipa-nav-list{display:flex;gap:4px;align-items:center}
.ipa-nav-list>li>a{display:block;padding:10px 14px;color:var(--ink);font-weight:600;border-radius:10px}
.ipa-nav-list>li>a:hover{background:var(--paper-2);text-decoration:none}
.ipa-nav-list li{position:relative}
.ipa-nav-list .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:260px;padding:8px;z-index:60}
.ipa-nav-list li:hover>.sub-menu,.ipa-nav-list li:focus-within>.sub-menu{display:block}
.ipa-nav-list .sub-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink)}
.ipa-nav-list .sub-menu a:hover{background:var(--paper-2);text-decoration:none}
.ipa-header-tools{display:flex;align-items:center;gap:6px}
.ipa-search{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff;overflow:hidden;height:44px}
.ipa-search input{border:0;background:none;padding:0 0 0 16px;width:180px;outline:none;min-width:0}
.ipa-search button{border:0;background:none;padding:0 12px;height:100%;color:var(--muted);cursor:pointer;display:flex;align-items:center}
.ipa-search button:hover{color:var(--ink)}
.ipa-search-big{height:54px;max-width:520px}.ipa-search-big input{flex:1;width:auto;font-size:17px}.ipa-search-big button{background:var(--brand);color:#fff;padding:0 22px;font-weight:700}
.ipa-whatsapp,.ipa-cart{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--ink);position:relative}
.ipa-whatsapp{color:#128c4a}.ipa-whatsapp:hover,.ipa-cart:hover{background:var(--paper-2);text-decoration:none}
.ipa-cart-count{position:absolute;top:2px;right:0;background:var(--accent);color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.ipa-burger{display:none;width:44px;height:44px;border:0;background:none;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;border-radius:10px}
.ipa-burger span{display:block;width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:.2s}
@media(max-width:960px){
	.ipa-header-in{grid-template-columns:44px 1fr auto;gap:6px}
	.ipa-logo{justify-self:center}.ipa-logo img{height:44px}
	.ipa-burger{display:flex}
	.ipa-search{display:none}
	.ipa-nav{display:none;position:fixed;inset:0;top:auto;background:#fff;z-index:100;padding:20px 16px 40px;overflow:auto;border-top:1px solid var(--line);box-shadow:0 -10px 40px rgba(0,0,0,.2)}
	.ipa-nav-open .ipa-nav{display:block}
	.ipa-nav-open .ipa-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.ipa-nav-open .ipa-burger span:nth-child(2){opacity:0}.ipa-nav-open .ipa-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
	.ipa-nav-list{flex-direction:column;align-items:stretch;gap:0}
	.ipa-nav-list>li>a{font-size:20px;padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0;font-family:var(--serif)}
	.ipa-nav-list .sub-menu{position:static;display:none;border:0;box-shadow:none;padding:4px 0 8px 16px}
	.ipa-nav-list li.is-open>.sub-menu{display:block}
	.ipa-nav-list .sub-menu a{font-size:17px;padding:12px 8px}
	.ipa-nav-list .menu-item-has-children>a::after{content:"＋";float:right;color:var(--muted)}
	.ipa-nav-list .is-open>a::after{content:"−"}
}
@media(max-width:960px){.ipa-nav{top:0;padding-top:90px}}

/* Hero */
.ipa-hero{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);border-bottom:1px solid var(--line);overflow:hidden}
.ipa-hero-in{display:grid;gap:28px;padding:44px 16px 36px;align-items:center}
@media(min-width:900px){.ipa-hero-in{grid-template-columns:1.1fr 1fr;padding:72px 28px 64px;gap:48px}}
.ipa-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:14px}
.ipa-hero h1{font-size:clamp(34px,5.4vw,58px);margin-bottom:18px}
.ipa-lead{font-size:18px;color:var(--ink-2);max-width:560px;margin-bottom:26px}
.ipa-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.ipa-hero-art{position:relative;height:300px}
@media(min-width:900px){.ipa-hero-art{height:420px}}
.ipa-hero-card{position:absolute;width:48%;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .25s}
.ipa-hero-card:hover{transform:translateY(-6px)}
.ipa-hero-card img{width:100%;height:100%;object-fit:cover}
.ipa-hero-card.c0{left:0;top:0;width:56%}.ipa-hero-card.c1{right:0;top:12%;width:40%}.ipa-hero-card.c2{left:34%;bottom:0;width:42%}

/* Sezioni */
.ipa-section{padding:48px 0}@media(min-width:900px){.ipa-section{padding:72px 0}}
.ipa-section-alt{background:var(--paper-2)}
.ipa-section-dark{background:var(--brand-dark);color:#e6eefa}
.ipa-section-dark h2,.ipa-section-dark h3{color:#fff}.ipa-section-dark a{color:#fff}
.ipa-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.ipa-section-head h2{margin:0}.ipa-section-head a{font-weight:700;white-space:nowrap}
.ipa-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:700px){.ipa-cat-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.ipa-cat-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink);transition:.2s}
.ipa-cat-card:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--shadow)}
.ipa-cat-img{aspect-ratio:1;background:var(--paper-2);overflow:hidden}
.ipa-cat-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.ipa-cat-card:hover img{transform:scale(1.04)}
.ipa-cat-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--brand-light),var(--paper-2))}
.ipa-cat-body{padding:12px 14px 14px}
.ipa-cat-body h3{font-size:17px;margin:0 0 2px}@media(min-width:700px){.ipa-cat-body h3{font-size:20px}}
.ipa-cat-body span{font-size:13px;color:var(--muted)}
.ipa-services{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ipa-service{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.ipa-service-icon{font-size:30px;display:block;margin-bottom:10px}
.ipa-service h3{font-size:19px}.ipa-service p{margin:0;color:var(--ink-2);font-size:15px}
.ipa-about{display:grid;gap:28px}@media(min-width:900px){.ipa-about{grid-template-columns:1.2fr .8fr;gap:60px}}
.ipa-about p{font-size:17px}
.ipa-contact-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:24px}
.ipa-contact-box p{margin-bottom:8px}

/* Pagine */
.ipa-page{padding:32px 16px 64px}@media(min-width:768px){.ipa-page{padding:48px 28px 80px}}
.ipa-page:not(.ipa-page-wide) .ipa-article{max-width:760px}
.ipa-title{margin-bottom:24px}
.ipa-prose{font-size:17px;color:var(--ink-2)}
.ipa-prose h2{font-size:24px;margin-top:1.6em}.ipa-prose h3{font-size:19px;margin-top:1.4em}
.ipa-prose ul{padding-left:1.2em}
.ipa-404 .ipa-search-big{margin:16px 0 24px}
.ipa-contact-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:24px 0}
.ipa-contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.ipa-contact-card h3,.ipa-contact-card .ipa-card-h{font-size:17px;font-family:var(--sans);margin-bottom:8px}
.ipa-contact-card p{margin:0;font-size:16px}

/* WooCommerce: catalogo */
.ipa-shop{padding:24px 16px 64px}@media(min-width:768px){.ipa-shop{padding:36px 28px 80px}}
.woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:14px!important}
.woocommerce-breadcrumb .sep{margin:0 6px}
.woocommerce-products-header__title,h1.page-title{margin-bottom:8px}
.term-description{color:var(--ink-2);max-width:700px;margin-bottom:16px}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-result-count{color:var(--muted);font-size:14px;margin:12px 0!important}
.woocommerce-ordering select{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;min-height:44px}
.woocommerce-ordering{margin:8px 0 16px!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0 24px!important;padding:0;list-style:none}
@media(min-width:480px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:12px}}
@media(min-width:900px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr);gap:16px}}
@media(min-width:1200px){.woocommerce ul.products{grid-template-columns:repeat(5,1fr)}}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:.2s}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;color:var(--ink)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover{text-decoration:none}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:1;object-fit:cover;margin:0!important;background:#fff}
.woocommerce ul.products li.product .ipa-card-cats{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px 14px 0}
.woocommerce ul.products li.product .ipa-card-cats a{color:var(--muted)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-size:15px!important;font-weight:600;padding:4px 14px 0!important;line-height:1.35;flex:1}
@media(min-width:700px){.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px!important}}
.woocommerce ul.products li.product .price{padding:6px 14px 0;font-size:17px!important;font-weight:800;color:var(--ink)!important;margin-bottom:0!important}
.woocommerce ul.products li.product .price del{opacity:.5;font-weight:500;font-size:14px}.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--danger)}
.woocommerce ul.products li.product .button{margin:12px 14px 14px!important;min-height:42px;padding:8px 14px;font-size:15px;border-radius:10px}
.woocommerce ul.products li.product .button.added{display:none}
.woocommerce ul.products li.product .added_to_cart{margin:0 14px 14px;font-weight:700}
/* Anteprime più compatte (richiesta cliente) */
.woocommerce ul.products li.product .ipa-card-cats{padding:9px 10px 0;font-size:10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13.5px!important;padding:3px 10px 0!important}
.woocommerce ul.products li.product .price{padding:5px 10px 0;font-size:15px!important}
.woocommerce ul.products li.product .button{margin:9px 10px 10px!important;min-height:38px;padding:6px 10px;font-size:14px}
.woocommerce ul.products li.product .added_to_cart{margin:0 10px 10px}
.woocommerce span.onsale{position:absolute;top:10px;left:10px;z-index:2;background:var(--danger);color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;min-height:0;line-height:1.4;margin:0}
.woocommerce ul.products li.product.outofstock img{filter:grayscale(.8);opacity:.75}
.woocommerce ul.products li.product.outofstock::after{content:"Esaurito";position:absolute;top:10px;right:10px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;color:var(--muted)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1.5px solid var(--line);border-radius:10px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink);background:#fff}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* WooCommerce: scheda prodotto */
.woocommerce div.product{display:grid;gap:28px}
@media(min-width:900px){.woocommerce div.product{grid-template-columns:1fr 1fr;gap:48px;align-items:start}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}}
.woocommerce div.product div.images{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product div.images img{border-radius:var(--r);border:1px solid var(--line);background:#fff}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.woocommerce div.product div.images .flex-control-thumbs li{width:72px!important;float:none!important;margin:0!important}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:8px;opacity:.6}.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--brand)}
.woocommerce div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{font-size:clamp(26px,3.5vw,38px);margin-bottom:10px}
.woocommerce div.product p.price{font-size:28px!important;font-weight:800;color:var(--ink)!important;margin-bottom:18px}
.woocommerce div.product p.price del{opacity:.45;font-size:20px;font-weight:500}.woocommerce div.product p.price ins{text-decoration:none;color:var(--danger)}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:17px;color:var(--ink-2)}
.woocommerce div.product form.cart{margin:18px 0 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{margin-bottom:14px}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0;text-align:left}
.woocommerce div.product form.cart .variations th{padding-bottom:6px;font-weight:700}
.woocommerce div.product form.cart .variations select{width:100%;max-width:360px;border:1.5px solid var(--line);border-radius:10px;padding:12px;min-height:50px;background:#fff;font-size:16px}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:12px}
.woocommerce div.product form.cart .variations .reset_variations{font-size:13px;color:var(--muted);display:inline-block;margin-top:6px}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.woocommerce .woocommerce-variation-price .price{font-size:24px;font-weight:800;display:block;margin-bottom:10px}
.woocommerce .quantity .qty{border:1.5px solid var(--line);border-radius:12px;min-height:52px;width:84px;font-size:17px;font-weight:700}
.woocommerce div.product form.cart .button{min-height:52px;flex:1;max-width:360px;font-size:17px}
.woocommerce div.product .product_meta{font-size:13px;color:var(--muted);margin-top:8px}
.woocommerce div.product .product_meta>span{display:block}
.ipa-help{background:var(--brand-light);border-radius:12px;padding:14px 16px;font-size:15px;margin:8px 0 12px}
.ipa-help a{font-weight:700}
.woocommerce div.product .woocommerce-tabs{margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 18px!important;display:flex;gap:4px;border-bottom:2px solid var(--line);overflow-x:auto}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:none!important;border-radius:0!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 16px!important;font-weight:700!important;color:var(--muted)!important;border-bottom:3px solid transparent;margin-bottom:-2px;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-color:var(--brand)}
.woocommerce div.product .woocommerce-tabs .panel{font-size:16px;color:var(--ink-2);max-width:800px}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:18px;font-family:var(--sans)}
.woocommerce table.shop_attributes{border:0}.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid var(--line);padding:10px 8px;font-style:normal}
.woocommerce .related>h2,.woocommerce .upsells>h2{font-size:24px;margin:16px 0 8px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--brand)!important;background:#fff!important;border-radius:12px;border:1px solid var(--line)!important}
.woocommerce-error{border-top-color:var(--danger)!important}

/* Carrello / cassa / account (blocchi + classico) */
.ipa-page-wide .ipa-article{max-width:none}
.wc-block-components-product-name{font-weight:700}
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1.5px solid var(--line);border-radius:10px;padding:12px;min-height:48px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink);font-weight:600;background:#fff}
.woocommerce-MyAccount-navigation .is-active a{background:var(--brand);color:#fff;border-color:var(--brand)}
.woocommerce-account .woocommerce{display:grid;gap:28px}@media(min-width:900px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}

/* Footer */
.ipa-footer{background:#0f2547;color:#c9d6ea;margin-top:0}
.ipa-footer a{color:#fff}
.ipa-footer-grid{display:grid;gap:32px;padding-top:48px;padding-bottom:36px}
@media(min-width:800px){.ipa-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.ipa-footer h4{color:#fff;margin-bottom:14px}
.ipa-footer ul{list-style:none;margin:0;padding:0}.ipa-footer li{margin-bottom:8px}
.ipa-footer-logo{filter:invert(1) brightness(2);width:170px;margin-bottom:14px;opacity:.95}
.ipa-footer .ipa-btn-wa{margin-top:4px}
.ipa-pay-badges{display:flex;flex-wrap:wrap;gap:6px}
.ipa-pay-badges span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff}
.ipa-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;padding-bottom:28px;font-size:13px;color:#9fb3d1}
.ipa-wa-float{position:fixed;right:16px;bottom:16px;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:.2s}
.ipa-wa-float:hover{transform:scale(1.06)}
@media(min-width:961px){.ipa-wa-float{display:none}}

/* Card delle categorie nella pagina Negozio */
.woocommerce ul.products li.product-category a{display:flex;flex-direction:column;height:100%;color:var(--ink)}
.woocommerce ul.products li.product-category h2{font-family:var(--serif);font-size:18px!important;padding:12px 14px 14px!important;margin:0;text-align:left}
.woocommerce ul.products li.product-category h2 mark{background:none;color:var(--muted);font-size:13px;font-weight:500;margin-left:4px}
.woocommerce ul.products li.product-category img{aspect-ratio:1;object-fit:cover}

/* Banner cookie */
.ipa-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:95;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px;max-width:720px;margin:0 auto}
.ipa-cookie[hidden]{display:none}
.ipa-cookie p{margin:0;flex:1;min-width:220px}
@media(max-width:960px){.ipa-cookie{bottom:84px}}

/* Accessibilità: titoli del footer, link nel testo sottolineati */
.ipa-footer .ipa-foot-h{color:#fff;margin-bottom:14px;font-size:16px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em}
.ipa-prose a,.ipa-cookie a,.ipa-contact-box a,.ipa-help a,.term-description a{text-decoration:underline;text-underline-offset:2px}
.woocommerce ul.products li.product .ipa-card-cats{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 10px 0}

.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
/* Galleria prodotto statica (niente slider: zero salti di layout) */
.woocommerce div.product div.images{opacity:1!important}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0}
.woocommerce div.product div.images .woocommerce-product-gallery__image{width:auto!important;float:none!important;margin:0!important;padding:0!important}
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child{grid-column:1/-1}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:1;object-fit:contain;width:100%;height:auto;background:#fff}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) img{border-radius:8px;cursor:pointer}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{z-index:3}

@media(max-width:600px){.ipa-cookie{padding:10px 12px;gap:10px;font-size:13px;left:10px;right:74px;bottom:12px}.ipa-cookie p{min-width:0}.ipa-cookie .ipa-btn{min-height:40px;padding:8px 14px;font-size:14px}}

/* Filtri catalogo: sottocategorie e ricerca nella categoria */
.ipa-filtri{display:grid;gap:12px;margin:8px 0 18px}
.ipa-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}
@media(min-width:700px){.ipa-chips{flex-wrap:wrap;overflow:visible}}
.ipa-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;min-height:42px}
.ipa-chip span{font-size:12px;font-weight:700;color:var(--muted);background:var(--paper-2);border-radius:999px;padding:1px 8px}
.ipa-chip:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.ipa-chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.ipa-chip.is-active span{background:rgba(255,255,255,.2);color:#fff}
.ipa-filtro-cerca{display:flex;gap:8px;max-width:520px}
.ipa-filtro-cerca input[type=search]{flex:1;min-width:0;height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#fff}
.ipa-filtro-cerca button{height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
.ipa-filtro-cerca button:hover{background:var(--brand-dark)}

/* Navigazione a livelli: voce "Vedi tutti i prodotti" e link di ritorno */
.ipa-vedi-tutti{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin:6px 0 18px;padding:16px 20px;border:1.5px solid var(--brand);border-radius:var(--r);background:var(--brand-light);color:var(--brand-dark);text-decoration:none}
.ipa-vedi-tutti strong{font-size:17px}.ipa-vedi-tutti span{font-weight:600}
.ipa-vedi-tutti:hover{background:var(--brand);color:#fff;text-decoration:none}
.ipa-torna{font-weight:600;color:var(--brand)}

/* Foto non disponibile: non cliccabile, nessuno zoom */
.ipa-senza-foto .woocommerce-product-gallery__image img{cursor:default;pointer-events:none}
.ipa-senza-foto .woocommerce-product-gallery__trigger{display:none!important}

/* Footer sempre in fondo: sulle pagine corte il contenuto riempie lo spazio che avanza */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.ipa-content{flex:1 0 auto}
.ipa-footer{flex-shrink:0}

/* Card prodotto e categoria: rifinitura (stesse dimensioni di griglia) */
.woocommerce ul.products li.product{border-radius:12px;box-shadow:0 1px 2px rgba(29,29,27,.04)}
.woocommerce ul.products li.product:hover{box-shadow:0 8px 20px rgba(23,58,105,.12);transform:translateY(-2px);border-color:#cdd8ea}
.woocommerce ul.products li.product img{object-fit:contain;padding:10px;background:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products li.product .ipa-prezzo-richiesta{font-size:13px;font-weight:600;color:var(--muted)}
/* pulsanti: testo centrato in verticale e in orizzontale (WooCommerce rimette display:inline-block) */
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product a.button{display:flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:40px;padding:6px 10px;border-color:var(--brand);color:var(--brand-dark);background:#fff}
.woocommerce ul.products li.product .button:hover{background:var(--brand);color:#fff}
.woocommerce div.product form.cart .button,button.single_add_to_cart_button,.ipa-chiedi-prezzo{display:inline-flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.2}
/* card categoria */
.woocommerce ul.products li.product-category a img{aspect-ratio:4/3;padding:14px;border-bottom:1px solid var(--paper-2)}
.woocommerce ul.products li.product-category h2{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px!important;line-height:1.25;padding:12px 14px!important;flex:1}
.woocommerce ul.products li.product-category h2 mark{background:var(--brand-light);color:var(--brand-dark);font-family:var(--sans);font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;margin:0;flex:0 0 auto}
.woocommerce ul.products li.product-category:hover h2{color:var(--brand)}
/* segnaposto "Foto non disponibile": a tutto riquadro, senza margine */
.woocommerce ul.products li.product img.ipa-ph{padding:0;object-fit:cover}
