/* =========================================================
   BEZZE THEME — main stylesheet
   Design tokens + shared layout + page-specific sections
   ========================================================= */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/HelveticaNeueLTStd-Lt.woff2') format('woff2'),
        url('../fonts/HelveticaNeueLTStd-Lt.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Minion Pro';
    src: url('../fonts/MinionPro-Regular.woff2') format('woff2'),
        url('../fonts/MinionPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
  --ink:#211f1c;
  --ink-soft:#3a3733;
  --paper:#f7f4ee;
  --paper-dim:#ece7dc;
  --bronze:#a3886c;
  --bronze-deep:#8a715a;
  --sage:#7f9279;
  --sage-deep:#62725d;
  --sage-pale:#e7ebe2;
  --line: rgba(33,31,28,.14);
  --line-dark: rgba(255,255,255,.12);

  --font-display: "Minion Pro", "Georgia", serif;
  --font-body:  Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a{ color: var(--bronze-deep); }
h1,h2,h3,.display{
  font-family:var(--font-display);
  letter-spacing:-.01em;
}
img{ max-width:100%; }

/* ===== Utility bar ===== */
.utility-bar{ background:var(--ink); color:var(--paper-dim); font-size:.82rem; letter-spacing:.02em; }
.utility-bar a{color:var(--paper-dim); text-decoration:none;}
.utility-bar a:hover{color:#fff;}
.utility-bar .dot{opacity:.4; margin:0 .65rem;}

/* ===== Brand header ===== */
.brand-header{ background:var(--paper); border-bottom:1px solid var(--line); }
.brand-mark{ font-family:"Minion Pro", serif; font-style:italic; font-weight:500; font-size:2.05rem; color:var(--ink); line-height:1; text-decoration:none; display:inline-block;}
.brand-sub{ font-size:.62rem; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-top:.2rem; }
.nav-link-custom{ color:var(--ink); font-size:.88rem; letter-spacing:.02em; text-decoration:none; }
.nav-link-custom:hover{ color:var(--bronze-deep); }
.nav-link-active{ color:var(--bronze-deep); border-bottom:1px solid var(--bronze-deep); padding-bottom:2px; }

.eyebrow{
  font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; font-weight:600;
  display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow-dark{ color: var(--bronze); }
.eyebrow-light{ color: var(--bronze-deep); }
.eyebrow-sage{ color: var(--sage-deep); }
.eyebrow-onlight{ color: #cfe0c8; }

/* ===== Mobile offcanvas nav ===== */
.offcanvas-bezze{ background: var(--paper); }
.offcanvas-bezze .nav-link-custom{ display:block; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:1rem; }

/* =========================================================
   FRONT PAGE — gate / landing
   ========================================================= */
.gate{ position:relative; min-height: calc(100vh - 132px); }
@media (max-width: 991.98px){ .gate{ min-height: auto; } }

.slab{
  position:relative; display:flex; align-items:flex-end; overflow:hidden;
  min-height: 78vh; text-decoration:none; isolation:isolate;    min-width: 50%;
}
.slab::before{
  content:""; position:absolute; inset:0; background-size:cover; background-position:center;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1); z-index:0;
}
.slab:hover::before{ transform: scale(1.045); }

.slab-content{ position:relative; z-index:2; padding: 3.2rem 2.6rem 3.4rem; width:100%; color:#fff; }
.slab-eyebrow{
  font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; font-weight:600; opacity:.82;
  display:flex; align-items:center; gap:.6rem;
}
.slab-eyebrow::before{ content:""; width:26px; height:1px; background:currentColor; opacity:.7; display:inline-block; }
.slab-title{ font-size: clamp(2.3rem, 4.4vw, 3.6rem); line-height:1.02; margin: .55rem 0 .9rem; font-weight:500; }
.slab-text{ max-width:50ch; font-size:1.1rem; line-height:1.55; opacity:.88; margin-bottom:1.6rem; font-weight:300; }
.slab-cta{
  display:inline-flex; align-items:center; gap:.65rem; font-family:var(--font-body); font-size:.82rem;
  font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:.35rem;
  transition: gap .3s ease, border-color .3s ease;
}
.slab:hover .slab-cta{ gap:1.05rem; border-color:#fff; }
.slab-cta svg{ width:16px; height:16px; flex-shrink:0; }

.gate-divider{ position:absolute; left:50%; top:0; bottom:0; width:120px; transform:translateX(-50%); z-index:3; pointer-events:none; display:none; }
@media (min-width: 992px){ .gate-divider{ display:block; } }
.gate-divider svg{ width:100%; height:100%; }

.gate-center-mark{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:4;
  width:120px; height:120px; border-radius:50%; background:var(--paper); display:none;
  align-items:center; justify-content:center; box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
@media (min-width: 992px){ .gate-center-mark{ display:flex; } }
.gate-center-mark svg{ width:30px; height:30px; }

.quote-strip{ background:var(--ink); color:var(--paper-dim); padding: 2.6rem 0; border-top:1px solid rgba(255,255,255,.07); }
.quote-strip .quote-text{ font-family:var(--font-display); font-style:italic; font-size:1.18rem; font-weight:400; color:#fff; line-height:1.5; }
.quote-strip .quote-attr{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); margin-top:.7rem; display:block; }
.quote-strip p { font-family: 'Minion Pro'; font-size:24px; font-style:italic; }


.mini-footer{ background:var(--paper); border-top:1px solid var(--line); padding: 1.4rem 0; font-size:.82rem; color:var(--ink-soft); }
.mini-footer a{ color:var(--ink-soft); text-decoration:none; }
.mini-footer a:hover{ color:var(--ink); }

@media (prefers-reduced-motion: reduce){ .slab::before{ transition:none; } }
@media (max-width: 991.98px){ .slab{ min-height: 62vh; } }

/* =========================================================
   ONORANZE FUNEBRI page
   ========================================================= */
.hero-onoranze{ position:relative; min-height: 86vh; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.hero-onoranze::before{
  content:""; position:absolute; inset:0;
  background-image: linear-gradient(180deg, rgba(15,14,12,.55) 0%, rgba(15,14,12,.72) 55%, rgba(12,11,10,.9) 100%), var(--hero-onoranze-img, none);
  background-size:cover; background-position: center 25%; z-index:0;
}
.hero-onoranze-content{ position:relative; z-index:2; color:#fff; padding: 6rem 0; }
.hero-onoranze h1{ font-size: clamp(1.9rem, 3.6vw, 2.9rem); font-style:italic; font-weight:400; line-height:1.1; max-width:26ch; margin: 1.1rem 0 0; }
.hero-onoranze .quote-attr{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); margin-top:1rem; display:block; }

.intro-section{ padding: 5.5rem 0 4rem; }
.intro-section h2{ font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight:500; line-height:1.18; margin-bottom:1.2rem; }
.intro-body p, .intro-section > .container p{ color:var(--ink-soft);margin-bottom:0; font-size:16px }

.services-strip{ background: var(--paper-dim); padding: 4.5rem 0 5rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.svc-card{ text-decoration:none; background:var(--paper); border:1px solid var(--line); padding: 2.1rem 1.8rem; height:100%; transition: border-color .25s ease, transform .25s ease; }
.svc-card:hover{ border-color: var(--bronze); transform: translateY(-3px); }
.svc-num{ font-family: var(--font-display); font-style: italic; font-size:1.4rem; color: var(--bronze-deep); display:block; margin-bottom: .9rem; }
a.svc-card h3{ font-family: var(--font-display); font-size:1.12rem; font-weight:600;  letter-spacing:.01em; margin-bottom:.6rem; }
a.svc-card p{ color:var(--ink-soft); font-size:.93rem; line-height:1.55; margin-bottom:0; }

.branch-divider{ position:relative; height: 90px; display:flex; align-items:center; justify-content:center; }
.branch-divider svg{ height:100%; width:auto; max-width:90%; }

.detail-row{ padding: 4.2rem 0; border-bottom:1px solid var(--line); }
.detail-row:last-of-type{ border-bottom:none; }
.detail-img{ width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius:2px; }
.detail-row h3{ font-size: clamp(1.4rem, 2vw, 1.85rem); font-weight:500; margin-bottom: .9rem; }
.detail-row p{ color:var(--ink-soft); line-height:1.7; }

.history-section{ background: var(--ink); color: var(--paper-dim); padding: 5.5rem 0; }
.history-section .eyebrow{ color: var(--bronze); }
.history-section h2{ font-size: clamp(1.8rem, 2.8vw, 2.5rem); color:#fff; font-weight:500; margin: 1rem 0 1.4rem; }
.history-section p{ color: var(--paper-dim); line-height:1.75; opacity:.92; }
.history-steps{ margin-top:2rem; padding-top:2rem; border-top:1px solid var(--line-dark); }
.history-step{ display:flex; align-items:baseline; gap:.7rem; font-size:.95rem; color:#fff; }
.history-step::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--bronze); flex-shrink:0; margin-bottom:1px; }
.history-cta{
  display:inline-flex; align-items:center; gap:.6rem; margin-top:2.2rem; color:#fff; text-decoration:none;
  font-size:.85rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid var(--bronze); padding-bottom:.3rem;
}
.history-cta:hover{ color: var(--bronze); }
.history-cta svg{ width:15px; height:15px; }
.history-photo{ position:relative; height:100%; min-height:380px; border-radius:2px; overflow:hidden; }
.history-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

.checklist-section{ padding: 5.5rem 0; }
.checklist-section h2{ font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight:500; margin-bottom:.6rem; }
.checklist-item{ border-top:1px solid var(--line); padding: 1.7rem 0; }
.checklist-item:last-child{ border-bottom:1px solid var(--line); }
.checklist-item h3{ font-size:1.05rem; font-weight:600; font-family: var(--font-body); color: var(--ink); margin:0; }
.checklist-item p{ color:var(--ink-soft); line-height:1.65; margin:0; font-size:.95rem; }

/* =========================================================
   FIORERIA page
   ========================================================= */
.hero-fioreria{ position:relative; min-height: 80vh; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.hero-fioreria::before{
  content:""; position:absolute; inset:0;
  background-image: linear-gradient(180deg, rgba(40,48,34,.30) 0%, rgba(30,36,25,.62) 60%, rgba(24,29,20,.88) 100%), var(--hero-fioreria-img, none);
  background-size:cover; background-position:center; z-index:0;
}
.hero-fioreria-content{ position:relative; z-index:2; color:#fff; padding: 6rem 0; }
.hero-fioreria h1{ font-size: clamp(2rem, 3.8vw, 3.1rem); font-style:italic; font-weight:400; line-height:1.1; max-width:25ch; margin: 1.1rem 0 0; }

.intro-photo{ width:100%; aspect-ratio: 4/5; object-fit:cover; border-radius:2px; }

.feature-list{ list-style:none; padding:0; margin: 1.6rem 0 0; }
.feature-list li{ display:flex; align-items:baseline; gap:.75rem; padding: .65rem 0; border-top:1px solid var(--line); color: var(--ink-soft); }
.feature-list li:last-child{ border-bottom:1px solid var(--line); }
.feature-list li::before{ content:""; width:6px; height:6px; border-radius:50%; background: var(--sage); flex-shrink:0; margin-bottom:2px; }

.consult-card{ background: var(--sage-pale); border:1px solid var(--line); padding: 1.8rem; margin-top:2rem; }
.consult-card .eyebrow{ color: var(--sage-deep); margin-bottom:.5rem; }
.consult-card p{ color: var(--ink-soft); margin-bottom:1rem; }
.consult-cta{
  display:inline-flex; align-items:center; gap:.6rem; background: var(--sage-deep); color:#fff; text-decoration:none;
  padding: .75rem 1.5rem; font-size:.85rem; font-weight:600; letter-spacing:.04em; border-radius:2px;
}
.consult-cta:hover{ background: var(--sage); color:#fff; }

.gallery-section{ background: var(--paper-dim); padding: 4.5rem 0 5rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.gallery-section h2{ font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight:500; margin-bottom: 2rem; }
.gallery-item{ overflow:hidden; border-radius:2px; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; display:block; transition: transform .5s ease; }
.gallery-item:hover img{ transform: scale(1.06); }

.services-section{ padding: 5.5rem 0; }
.services-section h2{ font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight:500; margin-bottom: 2.5rem; }
.svc-feature{ height:100%; }
.svc-feature img{ width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius:2px; margin-bottom:1.4rem; }
.svc-feature h3{ font-size:1.3rem; font-weight:500; margin-bottom:.7rem; }
.svc-feature p{ color:var(--ink-soft); line-height:1.65; }

/* ===== Closing CTA (shared sage variant) ===== */
.closing-cta{ background: var(--sage-deep); color:#fff; padding: 4rem 0; text-align:center; }
.closing-cta h2{ font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-style:italic; font-weight:400; margin-bottom:1.4rem; }
.closing-cta .btn-call{
  background:#fff; color: var(--sage-deep); border:none; padding:.85rem 2rem; font-weight:600;
  letter-spacing:.04em; border-radius: 2px; text-decoration:none; display:inline-block;
}
.closing-cta .btn-call:hover{ background: var(--paper-dim); }

/* =========================================================
   CONTATTI page
   ========================================================= */
.page-header{ background: var(--ink); color:#fff; padding: 4rem 0 3rem; }
.page-header .crumb{ font-size:.82rem; color: var(--paper-dim); opacity:.8; }
.page-header .crumb a{ color: var(--bronze); text-decoration:none; }
.page-header h1{ font-size: clamp(2rem, 3.4vw, 2.8rem); font-weight:500; margin-top:.6rem; }
.page-header p{ color: var(--paper-dim); opacity:.9; max-width:46ch; margin-top:.8rem; }

.info-section{ padding: 5rem 0; }
.info-card{ border:1px solid var(--line); padding: 2rem; height:100%; }
.info-card h3{ font-size:1.15rem; font-weight:600; font-family: var(--font-body); margin-bottom: 1rem; }
.info-card .badge-247{
  display:inline-block; background: var(--sage-deep); color:#fff; font-size:.68rem; letter-spacing:.08em;
  text-transform:uppercase; padding:.25rem .6rem; border-radius:2px; margin-bottom: 1rem;
}
.info-row{ display:flex; justify-content:space-between; gap:1rem; padding: .6rem 0; border-top:1px solid var(--line); font-size:.93rem; }
.info-row:last-child{ border-bottom:1px solid var(--line); }
.info-row span:first-child{ color: var(--ink-soft); }
.info-row span:last-child{ font-weight:600; text-align:right; }

.hours-table{ width:100%; font-size:.93rem; }
.hours-table td{ padding: .55rem 0; border-top:1px solid var(--line); vertical-align:top; }
.hours-table tr:last-child td{ border-bottom:1px solid var(--line); }
.hours-table td:first-child{ color: var(--ink-soft); white-space:nowrap; padding-right:1rem; }
.hours-table td:last-child{ font-weight:600; text-align:right; }
.hours-note{ font-size:.85rem; color: var(--ink-soft); margin-top:1rem; font-style:italic; }

.contact-link-big{ display:block; font-size:1.35rem; font-family: var(--font-display); font-weight:500; color: var(--ink); text-decoration:none; margin-bottom:.3rem; }
.contact-link-big:hover{ color: var(--bronze-deep); }
.contact-name{ font-size:.82rem; color: var(--ink-soft); }

.form-section{ background: var(--paper-dim); padding: 5rem 0; border-top:1px solid var(--line); }
.form-section h2{ font-size: clamp(1.7rem, 2.4vw, 2.1rem); font-weight:500; margin-bottom:.6rem; }
.form-section .lede{ color: var(--ink-soft); margin-bottom:2.2rem; }

.map-wrap{ height: 340px; border:1px solid var(--line); overflow:hidden; }
.map-wrap iframe{ width:100%; height:100%; border:0; filter: grayscale(.15) contrast(1.05); }

/* ----- Contact Form 7 styling, scoped to .form-section ----- */
.form-section .wpcf7-form p{ margin-bottom: 1rem; }
.form-section .wpcf7-form label{
  display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color: var(--ink-soft); margin-bottom:.4rem;
}
.form-section .wpcf7-form input[type="text"],
.form-section .wpcf7-form input[type="email"],
.form-section .wpcf7-form input[type="tel"],
.form-section .wpcf7-form select,
.form-section .wpcf7-form textarea{
  width:100%; border-radius:2px; border:1px solid var(--line); padding:.75rem .9rem;
  font-size:.95rem; background:var(--paper); font-family:var(--font-body);
}
.form-section .wpcf7-form input:focus,
.form-section .wpcf7-form select:focus,
.form-section .wpcf7-form textarea:focus{
  border-color: var(--bronze); outline:none; box-shadow: 0 0 0 .2rem rgba(163,136,108,.15);
}
.form-section .wpcf7-form input[type="submit"]{
  background: var(--bronze-deep); color:#fff; border:none; padding:.85rem 2.2rem;
  font-weight:600; letter-spacing:.04em; border-radius:2px; cursor:pointer;
}
.form-section .wpcf7-form input[type="submit"]:hover{ background: var(--ink); }
.form-section .wpcf7-acceptance label{
  display:flex; align-items:flex-start; gap:.5rem; text-transform:none; letter-spacing:normal; font-size:.85rem; color: var(--ink-soft);
}
.form-section .wpcf7-not-valid-tip{ color:#a33; font-size:.8rem; margin-top:.3rem; display:block; text-transform:none; letter-spacing:normal; }
.form-section .wpcf7-response-output{
  border-radius:2px; padding:.9rem 1.1rem; margin-top:1.5rem; font-size:.9rem; border:1px solid var(--line);
}
.form-section form.sent .wpcf7-response-output{ border-color: var(--sage); background: var(--sage-pale); color: var(--sage-deep); }
.form-section form.failed .wpcf7-response-output,
.form-section form.aborted .wpcf7-response-output{ border-color:#c79; background:#f7ecec; color:#a33; }
.form-section .wpcf7-spinner{ margin-left:.6rem; }

/* =========================================================
   NECROLOGI page (PDF repeater)
   ========================================================= */
.search-section{ padding: 3.5rem 0 2rem; }
.search-bar{ display:flex; border:1px solid var(--line); border-radius:2px; overflow:hidden; }
.search-bar input{ flex:1; border:none; padding: .9rem 1.1rem; font-size:1rem; background:var(--paper); }
.search-bar input:focus{ outline:none; }
.search-bar button{ background: var(--bronze-deep); color:#fff; border:none; padding: 0 1.6rem; font-weight:600; letter-spacing:.03em; }
.search-bar button:hover{ background: var(--ink); }

.empty-state{ padding: 4rem 0 6rem; text-align:center; }
.empty-state .sprig{ width:64px; height:64px; margin: 0 auto 1.6rem; display:block; }
.empty-state h2{ font-size: clamp(1.4rem, 2vw, 1.7rem); font-style:italic; font-weight:400; color: var(--ink-soft); max-width:36ch; margin: 0 auto .8rem; }
.empty-state p{ color: var(--ink-soft); opacity:.85; max-width:46ch; margin: 0 auto 1.8rem; font-size:.95rem; }
.empty-state .btn-contact{
  display:inline-flex; align-items:center; gap:.6rem; background: var(--ink); color:#fff; text-decoration:none;
  padding:.85rem 1.8rem; font-size:.85rem; font-weight:600; letter-spacing:.04em; border-radius:2px;
}
.empty-state .btn-contact:hover{ background: var(--bronze-deep); }

.pdf-grid{ padding: 1rem 0 5rem; }
.pdf-card{
  border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; height:100%;
  transition: border-color .25s ease, transform .25s ease;
}
.pdf-card:hover{ border-color: var(--bronze); transform: translateY(-3px); }
.pdf-thumb{
  position:relative; aspect-ratio: 3/4; background: var(--paper-dim); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.pdf-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pdf-thumb .pdf-fallback-icon{ width:48px; height:48px; opacity:.35; }
.pdf-thumb .pdf-open-overlay{
  position:absolute; inset:0; background: rgba(33,31,28,.0); display:flex; align-items:center; justify-content:center;
  transition: background .25s ease; opacity:0;
}
.pdf-card:hover .pdf-open-overlay{ background: rgba(33,31,28,.45); opacity:1; }
.pdf-open-overlay span{
  color:#fff; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; border:1px solid #fff; padding:.5rem 1rem; border-radius:2px;
}
.pdf-card-body{ padding: 1.1rem 1.2rem 1.3rem; flex:1; display:flex; flex-direction:column; }
.pdf-card-title{ font-size:1.02rem; font-weight:600; font-family:var(--font-body); margin-bottom:.3rem; }
.pdf-card-meta{ font-size:.8rem; color:var(--ink-soft); margin-bottom:1rem; }
.pdf-card-actions{ margin-top:auto; display:flex; gap:.7rem; }
.pdf-btn{
  font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; text-decoration:none;
  padding:.5rem .9rem; border-radius:2px; border:1px solid var(--line); color:var(--ink); flex:1; text-align:center;
}
.pdf-btn:hover{ border-color:var(--bronze); color:var(--bronze-deep); }
.pdf-btn-primary{ background:var(--ink); color:#fff; border-color:var(--ink); }
.pdf-btn-primary:hover{ background:var(--bronze-deep); border-color:var(--bronze-deep); color:#fff; }

/* PDF lightbox / inline preview modal */
.pdf-modal .modal-dialog {
    width: min(470px, calc(100vw - 24px));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

.pdf-modal .modal-content {
    overflow: hidden;
    background: #fff;
    border: none;
    border-radius: 0;
}

.pdf-modal .modal-header {
    min-height: 50px;
    padding: 0.75rem 1rem;
    background: #fff;
}

.pdf-modal .modal-title {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-style: italic;
}

.pdf-modal .btn-close {
    filter: none;
    opacity: 0.65;
}

.pdf-modal .btn-close:hover {
    opacity: 1;
}

.pdf-modal .modal-body {
    width: 100%;
    padding: 0;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 210 / 297;
}

.pdf-modal iframe {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 0;
    outline: 0;
    box-shadow: none;
}

@media (max-width: 575.98px) {
    .pdf-modal .modal-dialog {
        width: calc(100vw - 24px);
        margin-top: 12px;
        margin-bottom: 12px;
    }
}




/* =========================================================
   SHARED FOOTER
   ========================================================= */
.site-footer{ background: var(--ink); color: var(--paper-dim); padding: 3.5rem 0 1.5rem; }
.site-footer a{ color:var(--paper-dim); text-decoration:none; }
.site-footer a:hover{ color:#fff; }
.site-footer h6{ color:#fff; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:1rem; }
.footer-bottom{ border-top:1px solid var(--line-dark); margin-top:2.5rem; padding-top:1.5rem; font-size:.8rem; opacity:.75; }

/* =========================================================
   MESSAGGIO DI CORDOGLIO — stili aggiuntivi
   Da appendere in fondo ad assets/css/style.css
   ========================================================= */

/* Bottone cordoglio sulla card — tono discreto, non primario */
.pdf-btn-cordoglio{
  background: var(--paper-dim);
  color: var(--ink-soft);
  border: 1px solid var(--line);
  font-size:.75rem;
  letter-spacing:.03em;
  line-height:1.35;
  text-align:center;
  white-space:normal;   /* permette il testo lungo di andare a capo */
  padding:.55rem .8rem;
  border-radius:2px;
  cursor:pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.pdf-btn-cordoglio:hover{
  background: var(--paper);
  border-color: var(--bronze);
  color: var(--bronze-deep);
}

/* Rende le azioni verticali: cordoglio sopra (piena larghezza), scarica sotto */
.pdf-card .pdf-card-actions{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.pdf-card .pdf-btn-primary{
  text-align:center;
  width:100%;
}

/* Modal cordoglio — header sottile, corpo compatto */
#bezze-cordoglio-modal .modal-content{
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
#bezze-cordoglio-modal .modal-title{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--ink);
}
#bezze-cordoglio-defunto-label{
  font-size: .8rem;
  color: var(--bronze-deep);
  letter-spacing: .04em;
}

/* Styling CF7 dentro il modal cordoglio
   (si aggiunge alle regole .form-section .wpcf7-form già presenti) */
#bezze-cordoglio-modal .wpcf7-form p{ margin-bottom: .9rem; }
#bezze-cordoglio-modal .wpcf7-form label{
  display:block;
  font-size:.75rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color: var(--ink-soft);
  margin-bottom:.35rem;
}
#bezze-cordoglio-modal .wpcf7-form input[type="text"],
#bezze-cordoglio-modal .wpcf7-form input[type="email"],
#bezze-cordoglio-modal .wpcf7-form textarea{
  width:100%;
  border-radius:2px;
  border:1px solid var(--line);
  padding:.65rem .85rem;
  font-size:.9rem;
  background:var(--paper);
  font-family:var(--font-body);
}
#bezze-cordoglio-modal .wpcf7-form input:focus,
#bezze-cordoglio-modal .wpcf7-form textarea:focus{
  border-color: var(--bronze);
  outline:none;
  box-shadow: 0 0 0 .15rem rgba(163,136,108,.15);
}
#bezze-cordoglio-modal .wpcf7-form input[type="submit"]{
  background: var(--bronze-deep);
  color:#fff;
  border:none;
  padding:.75rem 1.8rem;
  font-weight:600;
  letter-spacing:.04em;
  border-radius:2px;
  cursor:pointer;
}
#bezze-cordoglio-modal .wpcf7-form input[type="submit"]:hover{
  background: var(--ink);
}
#bezze-cordoglio-modal .wpcf7-acceptance label{
  display:flex;
  align-items:flex-start;
  gap:.45rem;
  text-transform:none;
  letter-spacing:normal;
  font-size:.82rem;
  color: var(--ink-soft);
}
#bezze-cordoglio-modal .wpcf7-response-output{
  border-radius:2px;
  padding:.8rem 1rem;
  margin-top:1rem;
  font-size:.88rem;
  border:1px solid var(--line);
}
#bezze-cordoglio-modal form.sent .wpcf7-response-output{
  border-color: var(--sage);
  background: var(--sage-pale);
  color: var(--sage-deep);
}
#bezze-cordoglio-modal form.failed .wpcf7-response-output,
#bezze-cordoglio-modal form.aborted .wpcf7-response-output{
  border-color:#c79;
  background:#f7ecec;
  color:#a33;
}
/* Nasconde i campi hidden CF7 senza disturbare il layout */
#bezze-cordoglio-modal .wpcf7-form p:has(> .wpcf7-hidden){
  display:none;
}


