:root { --inp-orange:#e29000; --inp-gray:#52595d; --inp-ink:#202020; --inp-paper:#fff; --inp-sand:#f5f0e8; --inp-line:#ded7cc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.inperfetto-shop-home,body.inperfetto-shop-preview { margin:0; color:var(--inp-ink); background:var(--inp-paper); font-family:Poppins,Arial,sans-serif; font-size:16px; line-height:1.5; }
body.inperfetto-shop-home a,body.inperfetto-shop-preview a { color:inherit; }
body.inperfetto-shop-home img,body.inperfetto-shop-preview img { max-width:100%; height:auto; }
.inp-shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.inp-skip { position:absolute; left:-9999px; }
.inp-skip:focus { left:16px; top:16px; z-index:99; background:#fff; padding:12px; }
.inp-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--inp-line); background:#fff; }
.inp-header__inner { min-height:120px; display:grid; grid-template-columns:270px 1fr auto; align-items:center; gap:30px; }
.inp-brand { display:block; }
.inp-brand img { width:255px; display:block; }
.inp-utilities { display:flex; gap:19px; align-items:center; }
body.inperfetto-shop-home .inp-return,body.inperfetto-shop-preview .inp-return { display:inline-flex; gap:7px; align-items:center; padding:8px 11px; border:1px solid var(--inp-orange); color:var(--inp-orange); text-decoration:none; font-size:12px; font-weight:600; white-space:nowrap; }
body.inperfetto-shop-home .inp-return:hover,body.inperfetto-shop-preview .inp-return:hover { background:var(--inp-orange); color:#fff; }
.inp-utility { position:relative; display:inline-flex; gap:7px; align-items:center; text-decoration:none; font-size:13px; font-weight:600; }
.inp-utility svg,.inp-button svg,.inp-category-card svg { width:20px; height:20px; fill:currentColor; }
.inp-utility b { position:absolute; top:-9px; left:14px; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:var(--inp-orange); color:#fff; font-size:10px; }
.inp-hero { overflow:hidden; background:var(--inp-orange); }
.inp-hero__grid { display:grid; grid-template-columns:1fr; align-items:center; padding:58px 0; }
.inp-eyebrow { margin:0 0 13px; color:var(--inp-orange); font-size:12px; font-weight:700; letter-spacing:.14em; }
.inp-hero h1,.inp-section-heading h2,.inp-feature h2,.inp-lab h2,.inp-collaborations h2,.inp-newsletter h2 { margin:0; font-size:clamp(42px,5vw,76px); font-weight:400; letter-spacing:-.055em; line-height:.96; }
.inp-hero h1 { color:#fff; font-size:clamp(48px,4.4vw,64px); }
.inp-hero h1 > span { display:block; margin-bottom:10px; color:var(--inp-gray); font-size:.48em; font-style:italic; letter-spacing:-.04em; line-height:1; }
.inp-hero h1 > strong { display:block; color:#fff; font-weight:400; text-transform:uppercase; white-space:nowrap; }
.inp-hero h1 em { color:inherit; font-style:normal; }
.inp-hero .inp-eyebrow { color:#fff; }
.inp-search { margin-top:30px; }
.inp-search label { position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0 0 0 0); }
.inp-search > div { display:flex; width:min(500px,100%); border-bottom:2px solid var(--inp-ink); }
.inp-search input { width:100%; min-width:0; border:0; outline:0; padding:11px 0; background:transparent; color:inherit; font:inherit; }
.inp-search input::placeholder { color:#6f6b65; }
.inp-search button { display:flex; gap:8px; align-items:center; padding:0 0 0 13px; border:0; background:transparent; cursor:pointer; font:inherit; font-weight:600; }
.inp-search svg { width:23px; fill:var(--inp-orange); }
.inp-categories { padding:106px 0 120px; }
.inp-category-header { display:flex; justify-content:space-between; align-items:end; gap:42px; margin-bottom:52px; }
.inp-category-header .inp-section-heading { display:block; margin:0; }
.inp-categories__search { flex:none; width:min(500px,42%); margin:0; }
.inp-category-layout { display:grid; grid-template-columns:205px minmax(0,1fr); gap:46px; align-items:start; }
.inp-category-nav { border-top:2px solid var(--inp-ink); padding-top:15px; }
.inp-category-nav h2 { margin:0 0 15px; font-size:16px; }
.inp-category-nav ul { margin:0; padding:0; list-style:none; }
.inp-category-nav li { border-bottom:1px solid var(--inp-line); }
.inp-category-nav__row { display:flex; align-items:center; gap:8px; }
.inp-category-nav__row a { flex:1; }
.inp-category-nav a { display:block; padding:9px 0; color:var(--inp-ink); text-decoration:none; font-size:14px; }
.inp-category-nav a:hover { color:var(--inp-orange); }
.inp-category-toggle { display:grid; width:28px; height:28px; place-items:center; border:0; background:transparent; color:var(--inp-gray); cursor:pointer; font-size:19px; line-height:1; }
.inp-category-toggle:hover { color:var(--inp-orange); }
.inp-subcategory-list { margin:0 0 8px !important; padding:0 0 0 14px !important; }
.inp-subcategory-list li { border:0; }
.inp-subcategory-list a { padding:5px 0; color:var(--inp-gray); font-size:13px; }
.inp-section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:42px; }
.inp-section-heading .inp-eyebrow { margin-bottom:6px; }
.inp-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.inp-category-card { min-height:330px; position:relative; display:flex; align-items:end; overflow:hidden; background:#cfc8bd; text-decoration:none; }
.inp-category-card__media { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .45s ease; }
.inp-category-card__media--empty { background:linear-gradient(135deg,#d9d0c5,#aba196); }
.inp-category-card:hover .inp-category-card__media { transform:scale(1.05); }
.inp-category-card__media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.55)); }
.inp-category-card__body { position:relative; z-index:1; width:100%; display:flex; justify-content:space-between; align-items:center; padding:20px; color:#fff; font-size:24px; line-height:1.1; }
.inp-category-card__body svg { flex:none; }
.inp-empty { padding:34px; background:var(--inp-sand); }
.inp-social-band,.inp-contact-band { padding:58px 0; background:#fff; }
.inp-info-card { display:flex; flex-direction:column; align-items:flex-start; width:min(610px,100%); margin:0; padding:3px 0 3px 28px; border-left:3px solid var(--inp-orange); background:transparent; color:var(--inp-ink); }
.inp-social-band p,.inp-contact-band p { margin:0; color:var(--inp-gray); font-size:20px; font-weight:700; }
.inp-social-band .inp-social-links { display:flex; flex-direction:column; gap:15px; align-items:flex-start; margin-top:22px; }
.inp-social-band a { color:var(--inp-ink); text-decoration:none; font-weight:700; }
.inp-social-band .inp-social-links a { display:inline-flex; gap:11px; align-items:center; }
.inp-social-band .inp-social-links a:hover { color:var(--inp-orange); }
.inp-social-band .inp-social-links svg { width:28px; height:28px; fill:var(--inp-orange); }
.inp-contact-band .inp-info-card { gap:12px; }
.inp-contact-band p { margin-bottom:6px; }
.inp-contact-band a { color:var(--inp-ink); text-decoration:none; font-weight:700; }
.inp-contact-band a:hover { text-decoration:underline; }
.inp-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:9vw; align-items:center; padding:120px 0; }
.inp-feature__carousel { min-width:0; }
.inp-feature__slides { background:transparent; }
.inp-feature__slides img { display:block; width:100%; height:auto; aspect-ratio:940/788; object-fit:cover; }
.inp-feature__slides img[hidden] { display:none; }
.inp-feature__controls { display:flex; justify-content:flex-end; align-items:center; gap:13px; margin-top:14px; color:var(--inp-gray); font-size:14px; }
.inp-feature__controls button { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--inp-gray); border-radius:50%; background:#fff; color:var(--inp-gray); cursor:pointer; font-size:18px; }
.inp-feature__controls button:hover { border-color:var(--inp-orange); color:var(--inp-orange); }
.inp-feature__copy p { margin:24px 0 0; font-size:16px; line-height:1.65; }
.inp-feature__copy .inp-feature__address { font-size:15px; line-height:1.7; }
.inp-lab { padding:110px 0; background:var(--inp-gray); color:#fff; }
.inp-lab__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; align-items:center; }
.inp-lab__media { min-height:400px; display:grid; place-items:center; padding:32px; background-size:cover; background-position:center; }
.inp-lab__media span { padding:14px 18px; background:rgba(32,32,32,.8); color:#fff; text-align:center; }
.inp-lab h2 { color:var(--inp-orange); }
.inp-lab__copy p { margin:26px 0 0; max-width:560px; font-size:17px; line-height:1.65; }
.inp-button { display:inline-flex; gap:8px; align-items:center; margin-top:28px; padding:12px 0; color:#fff; text-decoration:none; font-weight:700; }
.inp-button svg { fill:var(--inp-orange); }
.inp-collaborations { padding:112px 0; }
.inp-collaborations > p { max-width:900px; margin:30px 0 0; font-size:18px; line-height:1.65; }
.inp-partner-logos { display:flex; align-items:center; gap:32px; max-width:900px; margin-top:42px; }
.inp-partner-logo { display:flex; width:220px; height:150px; align-items:center; justify-content:center; overflow:hidden; }
.inp-partner-logo img { width:220px; max-width:none; height:150px !important; object-fit:contain; }
.inp-newsletter { padding:38px 0; background:var(--inp-sand); }
.inp-newsletter__content { display:flex; justify-content:space-between; align-items:center; gap:42px; }
.inp-newsletter h2 { margin:0; color:var(--inp-orange); font-size:clamp(28px,3vw,42px); line-height:1.05; }
.inp-newsletter__content > div { max-width:500px; }
.inp-newsletter__content .inp-eyebrow { margin-bottom:6px; }
.inp-newsletter__signup { flex:none; width:min(500px,100%); }
.inp-newsletter__form { width:100%; margin:0; }
.inp-newsletter__form-row { display:flex; gap:10px; }
.inp-newsletter__form label { position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0 0 0 0); }
.inp-newsletter__form input { flex:1; min-width:0; border:1px solid var(--inp-ink); padding:12px 14px; background:transparent; color:var(--inp-ink); font:inherit; }
.inp-newsletter__form button { border:1px solid var(--inp-orange); padding:12px 19px; background:var(--inp-orange); color:#fff; font:inherit; font-weight:700; }
.inp-newsletter__form button { cursor:pointer; }
.inp-newsletter__form button:disabled { cursor:wait; opacity:.72; }
.inp-newsletter__consent { position:static !important; display:flex !important; width:auto !important; height:auto !important; gap:9px; align-items:flex-start; margin-top:13px; overflow:visible !important; clip:auto !important; color:var(--inp-gray); font-size:12px; line-height:1.4; }
.inp-newsletter__consent input { flex:none; width:15px; height:15px; min-width:0; margin:1px 0 0; padding:0; }
.inp-newsletter__consent a { color:inherit; text-decoration:underline; }
.inp-newsletter__honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.inp-newsletter__message { margin:13px 0 0; color:var(--inp-gray); font-size:14px; font-weight:600; }
.inp-newsletter__message.is-error { color:#a92727; }
.inp-footer { padding-top:58px; background:var(--inp-ink); color:#fff; font-size:13px; }
.inp-footer__grid { display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr; gap:30px; padding-bottom:42px; }
.inp-footer img { width:150px; filter:brightness(0) invert(1); }
.inp-footer .inp-footer__vitevere { width:175px; }
.inp-footer a { text-decoration:none; }
.inp-footer a:hover { text-decoration:underline; }
.inp-footer__bottom { border-top:1px solid #535353; padding:16px 0; color:#b6b6b6; }

/* Categorie e prodotti: esclusivamente nelle URL /anteprima-inperfetto/. */
.inp-catalog { min-height:60vh; padding:70px 0 120px; }
.inp-catalog__layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; align-items:start; }
.inp-catalog__left { position:sticky; top:150px; }
.inp-catalog__search { margin:0 0 42px; }
.inp-catalog__search > div { width:100%; }
.inp-catalog__search button span { display:none; }
.inp-catalog-sidebar { margin:0; }
.inp-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px; color:var(--inp-gray); font-size:14px; }
.inp-breadcrumb a { color:var(--inp-orange); text-decoration:none; }
.inp-breadcrumb a:hover { text-decoration:underline; }
.inp-catalog__main > h1,.inp-not-found h1 { margin:0; color:var(--inp-orange); font-size:clamp(38px,4vw,62px); font-weight:400; letter-spacing:-.055em; line-height:1; }
.inp-catalog__description { max-width:740px; margin:22px 0 46px; font-size:17px; line-height:1.65; }
.inp-catalog__description p { margin:0; }
.inp-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 22px; }
.inp-product-card { display:block; text-decoration:none; }
.inp-product-card__image { display:block; min-height:270px; background:center/cover #e5ded4; }
.inp-product-card__image--empty { background:linear-gradient(135deg,#d9d0c5,#aba196); }
.inp-product-card__content { display:grid; gap:7px; padding:14px 0 0; }
.inp-product-card__content strong { font-size:16px; line-height:1.25; }
.inp-product-card__content > span { color:var(--inp-orange); font-weight:700; }
.inp-product-card__content small { display:inline-flex; align-items:center; gap:5px; color:var(--inp-gray); font-size:13px; font-weight:700; }
.inp-product-card__content svg { width:17px; height:17px; fill:var(--inp-orange); }
.inp-product-card:hover strong,.inp-product-card:hover small { color:var(--inp-orange); }
.inp-single-product__layout { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(300px,1fr); gap:7vw; align-items:start; margin-top:44px; }
.inp-product-gallery__main { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; background:#e5ded4; }
.inp-product-gallery__thumbs { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.inp-product-gallery__thumb { display:block; padding:0; border:2px solid transparent; background:transparent; cursor:pointer; }
.inp-product-gallery__thumb.is-active { border-color:var(--inp-orange); }
.inp-product-gallery__thumb:focus-visible { outline:2px solid var(--inp-ink); outline-offset:2px; }
.inp-product-gallery__thumb img { display:block; width:62px; height:62px; object-fit:cover; }
.inp-product-gallery__empty { display:grid; min-height:360px; place-items:center; background:var(--inp-sand); color:var(--inp-gray); }
.inp-product-price { margin-bottom:24px; color:var(--inp-orange); font-size:30px; font-weight:700; line-height:1; }
.inp-product-description { margin-bottom:32px; font-size:16px; line-height:1.65; }
.inp-product-description p { margin:0; }
.inp-product-info { margin:0 0 20px; color:var(--inp-gray); font-size:16px; line-height:1.55; }
.inp-action-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border:0; border-radius:0; background:var(--inp-orange); color:#fff !important; text-decoration:none; font-size:14px; font-weight:700; }
.inp-action-button:hover { background:var(--inp-gray); }
.inp-product-cart .quantity { display:inline-flex; align-items:center; gap:10px; margin:0 10px 0 0; }
.inp-product-cart .quantity label { display:block; margin-right:6px; font-size:14px; font-weight:700; }
.inp-product-cart .quantity input { width:68px; min-height:44px; border:1px solid var(--inp-ink); text-align:center; font:inherit; }
.inp-product-cart .single_add_to_cart_button,.inp-product-cart button[type="submit"] { min-height:44px; padding:10px 22px; border:0; border-radius:0; background:var(--inp-orange); color:#fff; font:inherit; font-size:14px; font-weight:700; }
.inp-product-cart .variations { width:100%; margin:0 0 22px; border:0; }
.inp-product-cart .variations th,.inp-product-cart .variations td { display:block; padding:0 0 9px; text-align:left; }
.inp-product-cart .variations label { font-size:14px; font-weight:700; }
.inp-product-cart .variations select { width:100%; min-height:42px; margin-top:6px; padding:8px; border:1px solid var(--inp-ink); background:#fff; font:inherit; }
.inp-product-cart .reset_variations { display:inline-block; margin:5px 0 16px; color:var(--inp-gray); font-size:13px; }
.inp-product-cart .woocommerce-variation-price { margin:8px 0 18px; color:var(--inp-orange); font-size:25px; font-weight:700; }
.inp-product-cart .woocommerce-variation-description { margin:0 0 18px; }
.inp-product-cart .woocommerce-variation-availability { margin:0 0 18px; color:var(--inp-gray); }
.inp-not-found { padding:70px 0; }
.inp-not-found p { margin:24px 0; }

@media (max-width:980px) {
  .inp-catalog__layout { grid-template-columns:1fr; gap:42px; }
  .inp-catalog__left { position:static; display:grid; grid-template-columns:minmax(210px,.45fr) minmax(0,1fr); gap:34px; align-items:start; }
  .inp-catalog__search { margin:0; }
  .inp-catalog-sidebar { margin:0; }
  .inp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .inp-shell { width:min(100% - 32px,1180px); }
  .inp-header__inner { min-height:92px; grid-template-columns:170px 1fr; gap:10px; }
  .inp-brand img { width:168px; }
  .inp-header__space { display:none; }
  .inp-utilities { justify-content:end; gap:10px; }
  .inp-return { padding:7px 8px; font-size:10px; }
  .inp-utility span { display:none; }
  .inp-hero__grid,.inp-feature,.inp-lab__grid { grid-template-columns:1fr; gap:40px; }
  .inp-hero__grid { padding:48px 0; }
  .inp-hero h1,.inp-section-heading h2,.inp-feature h2,.inp-lab h2,.inp-collaborations h2,.inp-newsletter h2 { font-size:46px; }
  .inp-hero h1 > strong { white-space:normal; }
  .inp-search button span { display:none; }
  .inp-categories { padding:72px 0; }
  .inp-category-header { display:block; margin-bottom:36px; }
  .inp-category-header .inp-section-heading { margin-bottom:28px; }
  .inp-categories__search { width:100%; }
  .inp-category-layout { grid-template-columns:1fr; gap:32px; }
  .inp-section-heading { display:block; }
  .inp-category-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .inp-category-card { min-height:185px; }
  .inp-category-card__body { padding:13px; font-size:16px; }
  .inp-social-band .inp-social-links { margin-top:18px; flex-wrap:wrap; }
  .inp-contact-band a { display:block; margin-top:0; }
  .inp-feature { padding:74px 0; }
  .inp-social-band,.inp-contact-band { padding:36px 0; background:#fff; }
  .inp-info-card,.inp-contact-band .inp-info-card { display:flex; align-items:flex-start; width:100%; padding:3px 0 3px 22px; border-radius:0; text-align:left; }
  .inp-social-band p,.inp-contact-band p { font-size:21px; }
  .inp-social-band .inp-social-links { align-items:flex-start; margin-top:18px; }
  .inp-contact-band .inp-info-card { flex-direction:column; gap:12px; }
  .inp-contact-band p { margin-bottom:6px; }
  .inp-contact-band a { display:block; margin-top:0; }
  .inp-lab { padding:74px 0; }
  .inp-lab__media { min-height:280px; }
  .inp-collaborations { padding:72px 0; }
  .inp-newsletter { padding:48px 0; }
  .inp-newsletter__content { display:block; }
  .inp-newsletter__content > div { margin-bottom:24px; }
  .inp-partner-logos { justify-content:space-between; gap:8px; }
  .inp-partner-logo { width:31%; height:105px; }
  .inp-partner-logo img { width:100%; height:105px !important; }
  .inp-newsletter__form-row { flex-direction:column; }
  .inp-footer__grid { grid-template-columns:1fr 1fr; }
  .inp-catalog { padding:48px 0 80px; }
  .inp-catalog__layout,.inp-single-product__layout { grid-template-columns:1fr; gap:38px; }
  .inp-catalog__left { position:static; display:flex; flex-direction:column; }
  .inp-catalog__search { order:0; margin-bottom:30px; }
  .inp-catalog-sidebar { order:1; }
  .inp-breadcrumb { margin-bottom:22px; font-size:13px; }
  .inp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  .inp-product-card__image { min-height:185px; }
  .inp-product-card__content strong { font-size:14px; }
  .inp-product-card__content > span { font-size:14px; }
  .inp-single-product__layout { margin-top:30px; }
  .inp-product-gallery__empty { min-height:280px; }
  .inp-category-nav { border-top:0; padding-top:0; }
}
