/* PIODA CORE v0.1 — Stili esclusivamente prefissati .pioda-.
   Non modifica l'header GeneratePress né i template WooCommerce. */
.pioda-home, .pioda-home *, .pioda-home *::before, .pioda-home *::after { box-sizing: border-box; }
.pioda-home { position: relative; left: 50%; width: 100vw; max-width: none; transform: translateX(-50%); overflow: clip; color: #17232e; font-family: Inter, system-ui, -apple-system, sans-serif; line-height: 1.55; }
.pioda-home h1, .pioda-home h2, .pioda-home h3, .pioda-home p { margin: 0; }
.pioda-home h1, .pioda-home h2 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; color: #17232e; letter-spacing: -.025em; }
.pioda-home a { text-decoration: none; }
.pioda-section { width: 100%; }
.pioda-wrap { max-width: 1200px; padding-inline: 24px; margin-inline: auto; }
.pioda-icon { display: inline-block; width: 24px; height: 24px; flex-shrink: 0; vertical-align: middle; }
.pioda-kicker { display: flex; align-items: center; gap: 10px; color: #b9852e; font-size: 12px; text-transform: uppercase; font-weight: 700; letter-spacing: .095em; line-height: 1.3; margin-bottom: 20px !important; }
.pioda-kicker::before { content: ''; display: inline-block; width: 26px; height: 2px; background: #b9852e; }
.pioda-btn { min-height: 46px; display: inline-flex; justify-content: center; align-items: center; gap: 12px; border: 1px solid #b9852e; border-radius: 4px; padding: 12px 22px; font-family: Inter,system-ui,sans-serif; font-size: 13px; font-weight: 700; line-height: 1.35; white-space: normal; transition: color .2s,background-color .2s,border-color .2s; }
.pioda-btn .pioda-icon { width: 18px; height: 18px; }
.pioda-home .pioda-btn--primary { background: #b9852e; color: #fff; }
.pioda-home .pioda-btn--primary:hover, .pioda-home .pioda-btn--primary:focus-visible { background: #17232e; border-color: #17232e; color: #fff; }
.pioda-home .pioda-btn--outline { background: rgba(255,255,255,.72); color: #17232e; }
.pioda-home .pioda-btn--outline:hover, .pioda-home .pioda-btn--outline:focus-visible { background: #f5ead5; color: #17232e; }
.pioda-home a:focus-visible { outline: 3px solid #b9852e; outline-offset: 3px; }
/* HERO */
.pioda-hero { background: linear-gradient(110deg,#fcfbf9 0%,#f9f6f1 62%,#eee9e3 100%); }
.pioda-hero__grid { display: grid; grid-template-columns: .96fr 1.04fr; min-height: 510px; }
.pioda-hero__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-block: 62px 56px; padding-right: clamp(16px,3.7vw,55px); z-index: 1; }
.pioda-hero__copy .pioda-kicker { margin-bottom: 14px !important; }
.pioda-hero h1 { font-size: clamp(44px,4.35vw,65px); line-height: 1.03; }
.pioda-hero__description { max-width: 475px; font-size: 16px; color: #65707a; line-height: 1.6; margin-top: 16px !important; }
.pioda-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.pioda-hero__promises { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 36px; }
.pioda-hero__promises span { display: inline-flex; gap: 7px; align-items: center; max-width: 135px; color: #4b5662; font-size: 11px; line-height: 1.45; }
.pioda-hero__promises .pioda-icon { color: #b9852e; width: 28px; height: 28px; }
.pioda-hero__visual { position: relative; min-height: 450px; overflow: hidden; }
.pioda-hero__photo { display: block; object-fit: cover; object-position: center; width: 100%; height: 100%; position: absolute; inset: 0; }
.pioda-hero__visual.pioda-no-image { background: radial-gradient(circle at 60% 35%,#faf6f1 5%,#e6ddd2 100%); }
.pioda-placeholder-book { position: absolute; width: 56%; aspect-ratio: 3/4.2; background: linear-gradient(125deg,#421723,#782c3a 45%,#500e20 100%); right: 17%; bottom: -11%; transform: rotate(8deg); border: 6px solid #58192b; border-left: 17px solid #39101e; border-radius: 6px 9px 7px 6px; box-shadow: -18px 15px 30px #2f15223b,12px 28px 42px #2f15222f; }
.pioda-placeholder-book::before { content: ''; position: absolute; inset: 7% 10%; border: 1px solid #c49b5b69; }
.pioda-placeholder-book__foil { position: absolute; top: 27%; left: 24%; width: 52%; height: 25%; border-top: 1px solid #d2a453; border-bottom: 1px solid #d2a453; opacity: .9; }
/* COMMON SECTIONS */
.pioda-categories, .pioda-steps, .pioda-featured { padding-block: 65px 72px; }
.pioda-categories { padding-bottom: 32px; }
.pioda-featured { background: #fff; }
.pioda-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.pioda-section-heading .pioda-kicker { margin-bottom: 7px !important; }
.pioda-section-heading h2 { font-size: clamp(31px,3vw,42px); line-height: 1.1; }
.pioda-section-heading > p { color: #6b7280; font-size: 13px; }
.pioda-text-link { color: #a87828; display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pioda-text-link:hover { color: #681425; }
.pioda-text-link .pioda-icon { width: 17px; height: 17px; }
/* CATEGORIES */
.pioda-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.pioda-category-card { display: flex; flex-direction: column; border: 1px solid #e8e9eb; border-radius: 5px; overflow: hidden; background: #fff; color: #17232e; transition: border-color .2s,transform .2s,box-shadow .2s; }
.pioda-category-card:hover { transform: translateY(-3px); border-color: #d6bf96; box-shadow: 0 8px 24px #17232e12; }
.pioda-category-card__image { height: 155px; position: relative; overflow: hidden; }
.pioda-category-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pioda-cat--burgundy .pioda-category-card__image { background: radial-gradient(circle at 75% 30%,#a85a69,#681425 65%,#44101a); }
.pioda-cat--navy .pioda-category-card__image { background: radial-gradient(circle at 75% 30%,#506a86,#152a4b 60%,#0e1c30); }
.pioda-cat--paper .pioda-category-card__image { background: repeating-linear-gradient(165deg,#f2f2ef 0px,#f2f2ef 8px,#e4e3df 9px,#fff 13px); }
.pioda-cat--business .pioda-category-card__image { background: linear-gradient(130deg,#e2ddd6 0%,#f1ece8 50%,#b4a69e 100%); }
.pioda-category-card__image:not(:has(img))::after { content: ''; position: absolute; width: 55%; height: 85%; bottom: -20%; right: 20%; border-radius: 3px; transform: rotate(-12deg); border: 2px solid #ffffff7a; box-shadow: 10px 8px 22px #0002; }
.pioda-category-card__body { padding: 17px 15px; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex: 1; }
.pioda-category-card h3 { margin-bottom: 5px !important; color: #17232e; font-size: 16px; line-height: 1.25; font-weight: 700; font-family: Inter,system-ui,sans-serif; }
.pioda-category-card p { font-size: 12px; color: #6b7280; line-height: 1.5; }
.pioda-arrow-circle { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-width: 32px; border-radius: 50%; background: #f7f3eb; color: #b9852e; }
.pioda-arrow-circle .pioda-icon { width: 17px; height: 17px; }
/* STEPS */
.pioda-steps { padding-top: 44px; }
.pioda-steps-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.pioda-step { padding-right: 14px; }
.pioda-step__top { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.pioda-step__number { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #b9852e; color: #fff; font-size: 13px; font-weight: 700; }
.pioda-step__top .pioda-icon { width: 32px; height: 32px; }
.pioda-step h3 { font-size: 15px; font-family: Inter,system-ui,sans-serif; font-weight: 700; color: #17232e; margin-bottom: 7px !important; }
.pioda-step p { color: #6b7280; font-size: 12px; line-height: 1.65; }
/* PRODUCTS */
.pioda-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.pioda-product-card { background: #fff; border: 1px solid #e8e9eb; border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s,transform .2s; }
.pioda-product-card:hover { border-color: #d6bf96; transform: translateY(-2px); }
.pioda-product-card__image { background: #f5f4f2; min-height: 190px; }
.pioda-product-card__image img { width: 100%; height: 190px; display: block; object-fit: cover; }
.pioda-product-card__body { flex: 1; padding: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; }
.pioda-product-card h3 { font-size: 14px; color: #17232e; font-weight: 700; font-family: Inter,system-ui,sans-serif; line-height: 1.4; }
.pioda-product-card__bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pioda-product-price { color: #b9852e; font-size: 14px; font-weight: 700; }
.pioda-product-price del { font-size: 12px; color: #7b8188; }
/* BENEFITS */
.pioda-benefits { background: #f7f5f1; padding-block: 31px; }
.pioda-benefits__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.pioda-benefit { text-align: center; padding: 8px 21px; border-left: 1px solid #e3dfd7; }
.pioda-benefit:first-child { border-left: 0; }
.pioda-benefit .pioda-icon { width: 30px; height: 30px; color: #b9852e; margin-bottom: 10px; }
.pioda-benefit h3 { font-size: 13px; font-family: Inter,system-ui,sans-serif; font-weight: 700; color: #17232e; margin-bottom: 4px !important; }
.pioda-benefit p { font-size: 11px; color: #6b7280; }
/* WEDDING */
.pioda-wedding__grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 370px; }
.pioda-wedding__visual { position: relative; overflow: hidden; background: linear-gradient(125deg,#ddd1c3,#fcf6ec,#e3d6d4); min-height: 340px; }
.pioda-wedding__photo { position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%; }
.pioda-wedding__decoration { display: block; width: 52%; position: absolute; inset: 15% auto 15% 24%; color: #c0a478; background: #fffdfa; border: 1px solid #d9c5a5; border-radius: 3px; box-shadow: 15px 16px 25px #756a6329; font-size: 90px; line-height: 220px; text-align: center; transform: rotate(-9deg); }
.pioda-wedding__copy { display: flex; align-items: center; background: #fbfaf8; }
.pioda-wedding__copy-inner { max-width: 630px; padding: 50px clamp(28px,6vw,100px); }
.pioda-wedding h2 { font-size: clamp(32px,3.25vw,44px); line-height: 1.13; }
.pioda-wedding__copy p:not(.pioda-kicker) { color: #6b7280; font-size: 14px; line-height: 1.65; margin-top: 16px; margin-bottom: 23px; }
/* NEWSLETTER — appare solo quando è configurato un vero form */
.pioda-newsletter { background: #681425; padding-block: 36px; }
.pioda-newsletter__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.pioda-newsletter h2 { color: #fff; font-size: clamp(28px,2.5vw,36px); }
.pioda-newsletter p:not(.pioda-kicker) { color: #f0dce1; font-size: 13px; margin-top: 8px; }
.pioda-newsletter__form { color: #fff; }
.pioda-newsletter__form input[type="email"] { max-width: 100%; min-height: 44px; }
/* RESPONSIVE */
@media (max-width: 1024px) {
  .pioda-hero__grid { grid-template-columns: 1fr 1fr; min-height: 440px; }
  .pioda-hero h1 { font-size: 48px; }
  .pioda-hero__copy { padding-block: 40px; }
  .pioda-category-grid, .pioda-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pioda-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 20px; }
  .pioda-benefit:nth-child(3) { border-left: 0; }
}
@media (max-width: 767px) {
  .pioda-wrap { padding-inline: 20px; }
  .pioda-hero__grid { display: flex; flex-direction: column; }
  .pioda-hero__copy { padding: 58px 0 32px; }
  .pioda-hero h1 { font-size: clamp(37px,10vw,46px); }
  .pioda-hero__description { font-size: 14px; margin-top: 12px !important; }
  .pioda-hero__actions { display: grid; grid-template-columns: 1fr; width: 100%; margin-top: 23px; }
  .pioda-hero__actions .pioda-btn { width: 100%; }
  .pioda-hero__promises { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 24px; width: 100%; }
  .pioda-hero__promises span { max-width: none; }
  .pioda-home .pioda-hero__grid { padding-inline: 20px; }
  .pioda-hero__visual { min-height: 320px; margin-inline: -20px; }
  .pioda-placeholder-book { width: 43%; right: 28%; }
  .pioda-categories, .pioda-steps, .pioda-featured { padding-block: 44px 46px; }
  .pioda-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 22px; }
  .pioda-section-heading h2 { font-size: 30px; }
  .pioda-category-grid { gap: 12px; }
  .pioda-category-card__image { height: 125px; }
  .pioda-category-card__body { padding: 12px; align-items: flex-start; }
  .pioda-category-card h3 { font-size: 14px; }
  .pioda-category-card p { font-size: 11px; }
  .pioda-arrow-circle { width: 27px; height: 27px; min-width: 27px; }
  .pioda-steps-grid { grid-template-columns: 1fr; gap: 10px; }
  .pioda-step { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 0 12px; border: 1px solid #e8e9eb; border-radius: 5px; padding: 14px; }
  .pioda-step__top { grid-row: 1/3; margin: 0; gap: 9px; }
  .pioda-step__number { width: 28px; height: 28px; }
  .pioda-step__top .pioda-icon { width: 28px; height: 28px; }
  .pioda-step h3 { margin-bottom: 3px !important; }
  .pioda-step p { font-size: 11px; }
  .pioda-product-card__image, .pioda-product-card__image img { height: 155px; min-height: 155px; }
  .pioda-benefits__grid { gap: 12px 0; }
  .pioda-benefit { padding: 12px; }
  .pioda-wedding__grid { grid-template-columns: 1fr; }
  .pioda-wedding__visual { min-height: 280px; }
  .pioda-wedding__copy-inner { padding: 38px 20px 42px; }
  .pioda-wedding h2 { font-size: 34px; }
  .pioda-newsletter__grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 390px) {
  .pioda-category-card__body { flex-direction: column; align-items: flex-start; }
  .pioda-arrow-circle { align-self: flex-end; }
  .pioda-hero h1 { font-size: 37px; }
}
@media (prefers-reduced-motion: reduce) {
  .pioda-home *, .pioda-home *::before, .pioda-home *::after { transition: none !important; scroll-behavior: auto !important; }
}


/* PIODA CORE v0.2 — Rimuove il gap tra il menu GeneratePress e la hero.
   Il distacco era a livello del layout del tema, non della sezione hero.
   Limitato alla homepage: non tocca header e pagine WooCommerce. */
body.home #page,
body.home #content,
body.home .site-content,
body.home .content-area,
body.home #primary,
body.home .site-main,
body.home .inside-article,
body.home .entry-content,
body.home .wp-block-shortcode {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.home .entry-content > :first-child { margin-block-start: 0 !important; }
body.home .entry-content > .wp-block-shortcode:first-child { margin-block-start: 0 !important; }
body.home .pioda-home:first-child { margin-top: 0 !important; }

/* v1.8.7 — Avviso visibile solo agli amministratori in assenza di tesi incise 'Più richieste'. */
.pioda-featured__notice{padding:18px 22px;border:1px solid #e7d6b9;background:#fffaf2;color:#554735;border-radius:5px;font-size:14px;line-height:1.6}
