/* ═══════════════════════════════════════════════════════════════════
   PD · Partenope Drive — veste su misura
   navy #0b1222 · oro #c9a227 · crema #f7f4ee
   ═══════════════════════════════════════════════════════════════════ */

:root {
    --pd-navy: #0b1222;
    --pd-navy-2: #111a2e;
    --pd-oro: #c9a227;
    --pd-oro-chiaro: #e3c35f;
    --pd-crema: #f7f4ee;
}

/* ── occhielli: filetto d'oro prima del testo ───────────────────── */
.pd .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"],
.pd .elementor-widget-heading div.elementor-heading-title {
    letter-spacing: inherit;
}
.pd .elementor-section .elementor-widget-heading div.elementor-heading-title[style*="letter-spacing"],
.pd .elementor-widget-heading div.elementor-heading-title {
    position: relative;
}

/* occhiello = heading div piccolo e in oro: gli si mette il filetto */
.pd .elementor-widget-heading div.elementor-heading-title {
    display: inline-block;
}
.pd .elementor-element .elementor-heading-title {
    text-wrap: balance;
}

/* ── tipografia del marchio: Elementor imponeva Roboto ai titoli ── */
body, .elementor-widget-text-editor, .elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-icon-list .elementor-icon-list-text {
    font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}
h1, h2, h3, h4,
.elementor-heading-title,
.elementor-widget-icon-box .elementor-icon-box-title,
.site-footer .tkf-tit {
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-weight: 600;
    letter-spacing: 0;
}
/* gli occhielli restano in Inter: sono etichette, non titoli */
.elementor-widget-heading div.elementor-heading-title {
    font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}
.elementor-button, .button, input[type="submit"] {
    font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ── titoli: il taglio editoriale del marchio ───────────────────── */
.pd h1, .pd h2, .pd h3,
.pd .elementor-heading-title {
    letter-spacing: -0.01em;
}
.pd h2.elementor-heading-title,
.pd h1.elementor-heading-title {
    font-feature-settings: "liga" 1, "kern" 1;
}

/* ── schede: si sollevano e si accendono d'oro ──────────────────── */
.pd .elementor-column.elementor-col-50 > .elementor-widget-wrap,
.pd .elementor-column.elementor-col-33 > .elementor-widget-wrap,
.pd .elementor-column.elementor-col-25 > .elementor-widget-wrap {
    transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease, border-color .35s ease;
}
.pd .elementor-column.elementor-col-50:hover > .elementor-widget-wrap,
.pd .elementor-column.elementor-col-33:hover > .elementor-widget-wrap,
.pd .elementor-column.elementor-col-25:hover > .elementor-widget-wrap {
    transform: translateY(-6px);
}

/* le foto dentro le schede si avvicinano piano */
.pd .elementor-widget-image img { transition: transform .9s cubic-bezier(.2,.7,.3,1); }
.pd .elementor-column:hover .elementor-widget-image img { transform: scale(1.045); }
.pd .elementor-widget-image { overflow: hidden; }

/* ── bottoni: pieno d'oro con riflesso ──────────────────────────── */
.pd .elementor-button {
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.pd .elementor-button:hover { transform: translateY(-2px); }
.pd .elementor-button::after {
    content: "";
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
    transition: left .7s ease;
}
.pd .elementor-button:hover::after { left: 140%; }

/* ── fasce scure: la sirena in filigrana ────────────────────────── */
.pd .elementor-section[data-settings*="section-stretched"] { position: relative; }
.pd .pd-sirena::before {
    content: "";
    position: absolute;
    right: -40px; bottom: -40px;
    width: 420px; height: 420px;
    background: url(sirena.png) no-repeat center / contain;
    opacity: .05;
    pointer-events: none;
    filter: brightness(0) invert(1);
}
@media (max-width: 782px) {
    .pd .pd-sirena::before { width: 220px; height: 220px; right: -30px; bottom: -30px; }
}

/* ── onda d'oro che separa le fasce ─────────────────────────────── */
.pd .pd-onda { position: relative; }
.pd .pd-onda::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 26px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 26' preserveAspectRatio='none'%3E%3Cpath d='M0 13 C 150 26, 300 0, 450 13 S 750 26, 900 13 S 1200 0, 1200 13' fill='none' stroke='%23c9a227' stroke-opacity='.55' stroke-width='2'/%3E%3C/svg%3E") repeat-x center / 1200px 26px;
    pointer-events: none;
}

/* ── elenchi con spunta: pallino d'oro ──────────────────────────── */
.pd .elementor-icon-list-item .elementor-icon-list-icon { transition: transform .25s ease; }
.pd .elementor-icon-list-item:hover .elementor-icon-list-icon { transform: translateX(2px); }

/* ── listino del gestionale: righe più eleganti ─────────────────── */
.pd .tk-ncc-tariffe-card,
.pd .tkncc-tariffa {
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.pd .tk-ncc-tariffe-card:hover,
.pd .tkncc-tariffa:hover {
    transform: translateY(-4px);
    border-color: var(--pd-oro);
    box-shadow: 0 14px 34px rgba(11,18,34,.14);
}

/* ── modulo di prenotazione: scheda più nitida ──────────────────── */
.pd .tkncc-form-wrap,
.pd .tk-ncc-form {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 26px 60px rgba(4,10,22,.18);
}

/* ── footer: filetto d'oro e colonne più arieggiate ─────────────── */
.pd .site-footer .tkf-tit {
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 13px;
}
.pd .site-footer .tkf-tit::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 34px; height: 2px;
    background: var(--pd-oro);
}
.pd .site-footer .tkf-lista a { transition: color .2s ease, padding-left .2s ease; }
.pd .site-footer .tkf-lista a:hover { padding-left: 4px; }

/* ── il tasto "installa l'app" non deve sembrare secondario ─────── */
.pd .header-button2:hover { box-shadow: 0 8px 22px rgba(201,162,39,.32); }

/* ── riduce il salto delle animazioni di ingresso ───────────────── */
@media (prefers-reduced-motion: reduce) {
    .pd * { transition: none !important; animation: none !important; }
}

/* ═══ PD · pagine di servizio del sito (1.1.0) ═══════════════════════ */

/* ── intestazione navy: filetto d'oro sotto il titolo ───────────── */
.pd .entry-hero .entry-title,
.pd .entry-hero .page-title { position: relative; padding-bottom: 14px; }
.pd .entry-hero .entry-title::after,
.pd .entry-hero .page-title::after {
    content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 2px;
    margin-left: -28px; background: linear-gradient(90deg, transparent, var(--pd-oro), transparent);
}
.pd .entry-hero .tk-breadcrumbs a { color: rgba(255,255,255,.62); }
.pd .entry-hero .tk-breadcrumbs a:hover { color: var(--pd-oro); }

/* ── legali: colonna di lettura editoriale ──────────────────────── */
.pd.page-id-107 .elementor-widget-text-editor h2,
.pd.page-id-107 .elementor-widget-shortcode h2,
.pd.page-id-110 .elementor-widget-shortcode h2,
.pd.page-id-110 .elementor-widget-text-editor h2,
.pd.page-id-212 .elementor-widget-text-editor h2 {
    color: var(--pd-navy); font-size: 30px; margin: 46px 0 14px; padding-bottom: 10px;
    border-bottom: 1px solid #ece6d8; position: relative;
}
.pd.page-id-107 .elementor-widget-text-editor h2::after,
.pd.page-id-107 .elementor-widget-shortcode h2::after,
.pd.page-id-110 .elementor-widget-shortcode h2::after,
.pd.page-id-110 .elementor-widget-text-editor h2::after,
.pd.page-id-212 .elementor-widget-text-editor h2::after {
    content: ""; position: absolute; left: 0; bottom: -1px; width: 48px; height: 2px; background: var(--pd-oro);
}
.pd.page-id-110 .elementor-widget-text-editor h2:first-child,
.pd.page-id-212 .elementor-widget-text-editor h2:first-child { margin-top: 0; }
.pd .pd-legale-data {
    display: inline-block; background: var(--pd-crema); color: #8a6d12; border: 1px solid #eadfbf;
    border-radius: 50px; padding: 4px 14px; font-size: 13px; font-weight: 600; margin-bottom: 18px;
}
.pd.page-id-110 .elementor-widget-text-editor:first-child {
    background: var(--pd-crema); border-left: 3px solid var(--pd-oro); border-radius: 0 14px 14px 0;
    padding: 26px 30px 12px; margin-bottom: 18px;
}
.pd.page-id-212 .elementor-widget-text-editor li,
.pd.page-id-110 .elementor-widget-shortcode li { margin-bottom: 6px; }

/* ── 404: scheda centrata con il numero in oro ──────────────────── */
.pd.error404 .content-container { max-width: 760px; }
.pd.error404 .content-area { margin: 56px 0 70px; }
.pd.error404 section.error .page-content {
    background: #fff; border: 1px solid #ece6d8; border-radius: 22px; padding: 46px 44px 40px;
    box-shadow: 0 24px 60px -30px rgba(11,18,34,.35); text-align: center; position: relative; overflow: hidden;
}
.pd.error404 section.error .page-content::before {
    content: "404"; display: block; font: 700 108px/1 "Cormorant Garamond", Georgia, serif;
    background: linear-gradient(135deg, var(--pd-oro), var(--pd-oro-chiaro) 50%, #9c7a12);
    -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 6px;
}
.pd.error404 .page-title { color: var(--pd-navy); font-size: 34px; margin: 0 0 10px; }
.pd.error404 section.error p { color: #5a6472; font-size: 16.5px; }
.pd.error404 .search-form { position: relative; max-width: 460px; margin: 22px auto 0; }
.pd.error404 .search-form .search-field {
    width: 100%; box-sizing: border-box; border: 1px solid #dcd3bd; border-radius: 50px;
    padding: 13px 54px 13px 22px; font-size: 15px; background: var(--pd-crema);
}
.pd.error404 .search-form .search-field:focus { outline: 0; border-color: var(--pd-oro); box-shadow: 0 0 0 4px rgba(201,162,39,.16); }
.pd.error404 .search-form .search-submit { position: absolute; right: 0; top: 0; width: 52px; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.pd.error404 .search-form .tk-search-icon-wrap { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--pd-oro); pointer-events: none; }
.pd .pd-404-vie { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 28px; }
.pd .pd-404-vie a {
    display: inline-flex; align-items: center; padding: 11px 22px; border-radius: 50px; font-weight: 700;
    font-size: 14px; text-decoration: none; border: 1px solid #dcd3bd; color: var(--pd-navy); background: #fff;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.pd .pd-404-vie a.pd-primario { background: var(--pd-oro); border-color: var(--pd-oro); color: var(--pd-navy); }
.pd .pd-404-vie a:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(11,18,34,.45); }

/* ── ricerca: schede pulite, senza il logo come miniatura ───────── */
.pd.search .content-area { margin: 50px 0 70px; }
.pd.search .search-archive .post-thumbnail,
.pd.search .search-archive .entry-meta { display: none; }
.pd.search .search-archive .loop-entry {
    background: #fff; border: 1px solid #ece6d8; border-radius: 18px; overflow: hidden;
    box-shadow: 0 14px 40px -28px rgba(11,18,34,.4); transition: transform .25s ease, box-shadow .25s ease;
    border-top: 3px solid var(--pd-oro);
}
.pd.search .search-archive .loop-entry:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -26px rgba(11,18,34,.45); }
.pd.search .search-archive .entry-content-wrap { padding: 26px 26px 22px; }
.pd.search .search-archive .entry-title { font-size: 26px; margin: 0 0 10px; }
.pd.search .search-archive .entry-title a { color: var(--pd-navy); }
.pd.search .search-archive .entry-summary { color: #5a6472; font-size: 15px; }
.pd.search .search-archive .post-more-link { color: var(--pd-oro); font-weight: 700; letter-spacing: .06em; }

/* ── area affiliati: scheda navy+oro ────────────────────────────── */
.pd .tk-aff-wrap { padding: 50px 0 70px; }
.pd .tk-aff-login {
    max-width: 440px; margin: 0 auto; background: #fff; border: 1px solid #ece6d8; border-radius: 22px;
    padding: 34px 34px 28px; box-shadow: 0 24px 60px -30px rgba(11,18,34,.35); border-top: 4px solid var(--pd-oro);
}
.pd .tk-aff-login h3 { color: var(--pd-navy); font-size: 30px; margin: 0 0 6px; }
.pd .tk-aff-login p { color: #5a6472; }
.pd .tk-aff-login label { font-size: 13px; font-weight: 600; color: var(--pd-navy); }
.pd .tk-aff-login input.input {
    width: 100%; box-sizing: border-box; border: 1px solid #dcd3bd; border-radius: 10px; padding: 11px 14px; background: var(--pd-crema);
}
.pd .tk-aff-login input.input:focus { outline: 0; border-color: var(--pd-oro); box-shadow: 0 0 0 4px rgba(201,162,39,.16); }
.pd .tk-aff-login #wp-submit,
.pd .tk-aff-login input[type="submit"] {
    width: 100%; background: var(--pd-oro); color: var(--pd-navy); border: 0; border-radius: 50px; padding: 13px 20px;
    font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease;
}
.pd .tk-aff-login #wp-submit:disabled { opacity: .55; cursor: not-allowed; }
.pd .tk-aff-login #wp-submit:not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(201,162,39,.7); }
.pd .tk-aff-login a { color: #9c7a12; }

@media (max-width: 782px) {
    .pd.error404 section.error .page-content { padding: 34px 20px 30px; border-radius: 16px; }
    .pd.error404 section.error .page-content::before { font-size: 84px; }
    .pd .pd-404-vie a { width: 100%; justify-content: center; box-sizing: border-box; }
    .pd .tk-aff-login { padding: 26px 20px 22px; border-radius: 16px; }
    .pd.page-id-110 .elementor-widget-text-editor:first-child { padding: 20px 18px 8px; }
    .pd.page-id-107 .elementor-widget-text-editor h2,
    .pd.page-id-107 .elementor-widget-shortcode h2,
    .pd.page-id-110 .elementor-widget-shortcode h2,
    .pd.page-id-110 .elementor-widget-text-editor h2,
    .pd.page-id-212 .elementor-widget-text-editor h2 { font-size: 25px; }
}

/* ═══ PD · prezzi (1.1.1) ═══════════════════════════════════════════ */

/* fascia prezzi sotto la foto della home: vetro navy */
.pd .elementor-element-c166524 > .elementor-widget-wrap { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pd .elementor-element-f3515eb .elementor-button { white-space: nowrap; }
.pd .elementor-element-f3515eb .elementor-button:hover { box-shadow: 0 12px 28px -12px rgba(201,162,39,.65); }

/* listino del gestionale: tasto con testo navy (bianco su oro si legge male) */
.pd .tk-ncc-tariffe { --tkn-cta-testo: var(--pd-navy); }

/* aperture con foto: il sommario resta in una colonna leggibile */
.pd .elementor > .elementor-top-section:first-child .elementor-widget-text-editor {
    max-width: 760px; margin-left: auto; margin-right: auto;
}

/* home, card servizi: tasti "Scopri" tutti allineati in fondo */
.pd .elementor-element-898096d > .elementor-container > .elementor-column > .elementor-widget-wrap { flex-direction: column; flex-wrap: nowrap; }
.pd .elementor-element-898096d > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-section { flex: 1 1 auto; display: flex; }
.pd .elementor-element-898096d .elementor-inner-section .elementor-container { width: 100%; }
.pd .elementor-element-898096d .elementor-inner-section .elementor-column > .elementor-widget-wrap { display: flex; flex-direction: column; flex-wrap: nowrap; height: 100%; }
.pd .elementor-element-898096d .elementor-inner-section .elementor-widget-button { margin-top: auto; }

/* home, "Prenotare è semplicissimo": numero in filigrana, anello oro, card che si accende */
.pd .pd-passo > .elementor-widget-wrap { position: relative; overflow: hidden; border-radius: 18px; }
.pd .pd-passo .pd-passo-num { position: absolute !important; top: 4px !important; right: 16px !important; left: auto !important; width: auto !important; max-width: none !important; margin: 0 !important; pointer-events: none; }
.pd .pd-passo .pd-passo-num .elementor-heading-title { text-align: right !important; }
.pd .pd-passo .pd-passo-num .elementor-heading-title {
    font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 120px !important; font-weight: 600 !important;
    line-height: 1 !important; letter-spacing: 0 !important; color: rgba(201,162,39,.10) !important;
}
.pd .pd-passo .pd-passo-num .elementor-heading-title::before { display: none !important; }
.pd .pd-passo .elementor-widget-icon .elementor-icon { box-shadow: 0 0 0 8px rgba(201,162,39,.12), 0 12px 30px -10px rgba(201,162,39,.55); transition: transform .3s ease; }
.pd .pd-passo { transition: transform .3s ease; }
.pd .pd-passo > .elementor-widget-wrap { transition: border-color .3s ease, box-shadow .3s ease; }
.pd .pd-passo:hover { transform: translateY(-5px); }
.pd .pd-passo:hover > .elementor-widget-wrap { box-shadow: 0 26px 50px -24px rgba(201,162,39,.35); }
.pd .pd-passo:hover .elementor-widget-icon .elementor-icon { transform: scale(1.06); }
.pd .pd-passo .elementor-widget-wrap > *:not(.pd-passo-num) { position: relative; z-index: 1; }

/* lo stesso riflesso del "Prenota ora" su tutti i tasti oro del sito */
.pd .tk-ncc-tariffe-cta a, .pd .pd-404-vie a.pd-primario, .pd .header-button, .pd .header-button2,
.pd form.tk-form button[type="submit"], .pd .tk-aff-login #wp-submit { position: relative; overflow: hidden; }
.pd .tk-ncc-tariffe-cta a::after, .pd .pd-404-vie a.pd-primario::after, .pd .header-button::after, .pd .header-button2::after,
.pd form.tk-form button[type="submit"]::after {
    content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transition: left .7s ease;
}
.pd .tk-ncc-tariffe-cta a:hover::after, .pd .pd-404-vie a.pd-primario:hover::after, .pd .header-button:hover::after,
.pd .header-button2:hover::after, .pd form.tk-form button[type="submit"]:hover::after { left: 140%; }

/* foto da sole in una colonna (es. l'auto al Plebiscito): ferme, niente salto né zoom */
.pd .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-image:only-child):hover > .elementor-widget-wrap { transform: none; }
.pd .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-image:only-child):hover .elementor-widget-image img { transform: none; }
