/* Pagine dei partner (es. /partner/hazar): grafica a sezioni, pensata per il telefono */
.pt { max-width: 1120px; margin: 7.5rem auto 3rem; padding: 0 16px; color: var(--m35-ink); position: relative; z-index: 1; }
.pt * { box-sizing: border-box; }
.pt h1, .pt h2, .pt h3 { margin: 0; line-height: 1.15; }
.pt p { margin: 0; }
.pt section { margin-top: 3.5rem; }
.pt-h2 { font-size: clamp(1.5rem, 4.2vw, 2.1rem); margin-bottom: 0.6rem !important; letter-spacing: -0.01em; }
.pt-sub { color: var(--m35-slate); font-size: 1.05rem; line-height: 1.55; max-width: 46rem; margin-bottom: 1.4rem !important; }
.pt-back { margin-bottom: 1rem; }

.pt-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 1.5rem; align-items: center; border-radius: 36px; padding: 2.6rem 2.4rem; background: linear-gradient(135deg, #00D185 0%, #0b9a86 55%, #086e70 100%); color: #052a2a; overflow: hidden; position: relative; }
.pt-hero::before { content: ""; position: absolute; inset: -20% -10% auto auto; width: 420px; height: 420px; border-radius: 50%; background: rgba(255,255,255,0.12); }
.pt-hero > * { position: relative; }
.pt-badge { display: inline-block; font-weight: 800; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; background: rgba(5,42,42,0.88); color: #FFD93D; border-radius: 999px; padding: 0.35rem 0.8rem; margin-bottom: 1rem; }
.pt-hero h1 { font-size: clamp(1.9rem, 5.2vw, 3.1rem); font-weight: 900; color: #fff; text-shadow: 0 2px 0 rgba(5,42,42,0.25); letter-spacing: -0.02em; }
.pt-hero p.pt-lead { font-size: 1.12rem; line-height: 1.55; margin-top: 1rem; color: #eafff7; font-weight: 500; }
.pt-cta { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.4rem; }
.pt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0.8rem 1.4rem; border-radius: 999px; font-weight: 800; font-size: 1rem; text-decoration: none; border: 0; cursor: pointer; }
.pt-btn-main { background: #FFD93D; color: #1b2a00; box-shadow: 0 6px 0 rgba(5,42,42,0.25); }
.pt-btn-ghost { background: rgba(5,42,42,0.88); color: #fff; }
.pt-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.3rem; padding: 0; list-style: none; }
.pt-chips li { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.45); color: #fff; border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.88rem; font-weight: 700; }
.pt-hero img { width: 100%; height: auto; display: block; filter: drop-shadow(0 18px 24px rgba(5,42,42,0.3)); }

.pt-grid { display: grid; gap: 1rem; }
.pt-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pt-card { background: var(--m35-panel); border: 1px solid var(--m35-border); border-radius: 24px; padding: 1.4rem; }
.pt-icon { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; background: rgba(0,209,133,0.14); color: #00D185; margin-bottom: 0.9rem; }
.pt-card h3 { font-size: 1.12rem; margin-bottom: 0.4rem; }
.pt-card p { color: var(--m35-slate); line-height: 1.55; font-size: 0.98rem; }

.pt-tiles { grid-template-columns: repeat(3, 1fr); }
.pt-tile { border-radius: 24px; overflow: hidden; background: var(--m35-panel); border: 1px solid var(--m35-border); }
.pt-tile img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.pt-tile div { padding: 1rem 1.1rem 1.2rem; }
.pt-tile h3 { font-size: 1.05rem; margin-bottom: 0.3rem; }
.pt-tile p { color: var(--m35-slate); font-size: 0.93rem; line-height: 1.5; }

.pt-pack { display: flex; flex-direction: column; }
.pt-pack ul { margin: 0.9rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.5rem; }
.pt-pack li { position: relative; padding-inline-start: 1.6rem; color: var(--m35-ink); font-size: 0.96rem; line-height: 1.45; }
.pt-pack li::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.3em; width: 1rem; height: 1rem; border-radius: 50%; background: #00D185 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052a2a' stroke-width='4'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat; }
.pt-note { margin-top: 1rem !important; color: #FFD93D; font-weight: 700; }

.pt-steps { grid-template-columns: repeat(4, 1fr); counter-reset: pt; }
.pt-step { position: relative; padding-top: 2.4rem; }
.pt-step::before { counter-increment: pt; content: counter(pt); position: absolute; top: -14px; inset-inline-start: 1.2rem; width: 36px; height: 36px; border-radius: 50%; background: #FFD93D; color: #1b2a00; font-weight: 900; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 0 rgba(0,0,0,0.25); }

.pt-blocks { display: grid; gap: 1rem; }
.pt-block { display: grid; grid-template-columns: 64px 1fr; gap: 1.1rem; align-items: start; }
.pt-block .pt-icon { width: 64px; height: 64px; margin: 0; border-radius: 20px; }
.pt-block h3 { font-size: 1.2rem; margin-bottom: 0.4rem; }

.pt-people { grid-template-columns: 1fr 1fr; }
.pt-person { display: flex; gap: 1rem; align-items: flex-start; }
.pt-avatar { flex: none; width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 1.5rem; color: #052a2a; background: linear-gradient(135deg, #FFD93D, #00D185); }
.pt-avatar-m { background: linear-gradient(135deg, #00D185, #0b9a86); color: #fff; }
.pt-honest { margin-top: 1rem !important; color: var(--m35-slate); font-size: 0.95rem; line-height: 1.55; }

.pt-form-wrap { background: linear-gradient(135deg, rgba(0,209,133,0.16), rgba(0,209,133,0.05)); border: 1px solid rgba(0,209,133,0.45); border-radius: 32px; padding: 2rem; }
.pt-form-wrap .m35-smart-form { max-width: 640px; margin-top: 1rem; }
.pt-faq details { background: var(--m35-panel); border: 1px solid var(--m35-border); border-radius: 18px; padding: 0.2rem 1.1rem; margin-bottom: 0.6rem; }
.pt-faq summary { cursor: pointer; font-weight: 700; padding: 0.85rem 0; font-size: 1.02rem; }
.pt-faq details p { color: var(--m35-slate); line-height: 1.6; padding-bottom: 1rem; }
.pt-links { margin-top: 1.6rem !important; color: var(--m35-slate); }
.pt-links a { color: #00D185; }

@media (max-width: 860px) {
    .pt { margin-top: 6.5rem; }
    .pt-hero { grid-template-columns: 1fr; padding: 1.8rem 1.3rem; border-radius: 28px; }
    .pt-hero-img { order: -1; max-width: 420px; margin: 0 auto; }
    .pt-grid-3, .pt-tiles { grid-template-columns: 1fr 1fr; }
    .pt-steps { grid-template-columns: 1fr 1fr; gap: 1.4rem 1rem; }
    .pt-people { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .pt-grid-3 { grid-template-columns: 1fr; }
    .pt-tiles { gap: 0.7rem; }
    .pt-tile div { padding: 0.8rem; }
    .pt-tile p { display: none; }
    .pt-steps { grid-template-columns: 1fr; }
    .pt-block { grid-template-columns: 1fr; }
    .pt-btn { width: 100%; }
    .pt-form-wrap { padding: 1.3rem; border-radius: 24px; }
}

/* Pagine dei paesi e dei tipi di attività: stesso stile, card tutte uguali */
.pt-pill-line { margin-top: 1.1rem !important; display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; font-weight: 700; font-size: 1.02rem; }
.pt-pill-line span { background: #FFD93D; color: #1b2a00; border-radius: 999px; padding: 0.25rem 0.8rem; font-size: 0.82rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em; }
.pt-pill-link a { color: #00D185; }
.pt-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-top: 1rem; }
.pt-stat { background: var(--m35-panel); border: 1px solid var(--m35-border); border-radius: 20px; padding: 1.1rem; display: flex; flex-direction: column; gap: 0.2rem; min-height: 150px; }
.pt-stat .pt-icon { width: 44px; height: 44px; border-radius: 14px; margin-bottom: 0.5rem; }
.pt-stat b { font-size: 1.25rem; line-height: 1.2; }
.pt-stat small { color: var(--m35-slate); font-size: 0.86rem; line-height: 1.4; }
.pt-stat small i { font-style: normal; opacity: 0.8; }
.pt-stat-m35 { border-color: rgba(0,209,133,0.55); background: rgba(0,209,133,0.08); }
.pt-list { margin: 0.8rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.45rem; }
.pt-list li { position: relative; padding-inline-start: 1.6rem; font-size: 0.96rem; line-height: 1.45; color: var(--m35-ink); }
.pt-list li::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.3em; width: 1rem; height: 1rem; border-radius: 50%; background: #00D185 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052a2a' stroke-width='4'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat; }
.pt-block p + p { margin-top: 0.6rem; }
.pt-prices { align-items: stretch; }
.pt-price { position: relative; display: flex; flex-direction: column; padding: 1.5rem 1.4rem; }
.pt-price h3 { font-size: 1.12rem; min-height: 2.6em; margin-bottom: 0.2rem; }
.pt-price h3 a { color: inherit; text-decoration: none; }
.pt-price .pt-for { min-height: 2.9em; color: var(--m35-slate); font-size: 0.96rem; line-height: 1.45; }
.pt-price p.pt-amount { font-size: 2.1rem; font-weight: 900; line-height: 1; color: #FFD93D; margin: 0.6rem 0 0.2rem !important; }
.pt-price p.pt-amount small { font-size: 0.95rem; font-weight: 700; color: var(--m35-slate); margin-inline-end: 0.3rem; }
.pt-price .pt-list { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--m35-border); }
.pt-price-top { border-color: rgba(0,209,133,0.6); background: rgba(0,209,133,0.08); }
.pt-tag { position: absolute; top: -13px; inset-inline-end: 16px; background: #FFD93D; color: #1b2a00; font-weight: 900; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.04em; border-radius: 999px; padding: 0.28rem 0.75rem; }
.pt-links2 { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem !important; }
.pt-links2 a { border: 1px solid var(--m35-border); background: var(--m35-panel); border-radius: 999px; padding: 0.4rem 0.95rem; color: var(--m35-ink); text-decoration: none; font-weight: 700; font-size: 0.92rem; }
.pt-links2 a:hover { border-color: #00D185; color: #00D185; }
.pt-final { text-align: center; }
.pt-final .pt-sub { margin-inline: auto; }
.pt-final .pt-cta { justify-content: center; }
.pt-card h3 a { color: inherit; text-decoration: none; }
@media (max-width: 860px) {
    .pt-price h3, .pt-price .pt-for { min-height: 0; }
}

/* Selettore di lingua e scrittura da destra a sinistra (arabo) */
.pt-lang { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1.1rem; }
.pt-lang a { border: 1px solid var(--m35-border); border-radius: 999px; padding: 0.3rem 0.85rem; font-size: 0.88rem; font-weight: 700; color: var(--m35-ink); text-decoration: none; background: var(--m35-panel); }
.pt-lang a.is-on { background: #00D185; color: #052a2a; border-color: #00D185; }
[dir="rtl"] .pt { font-family: "Segoe UI", Tahoma, "Noto Sans Arabic", Arial, sans-serif; }
[dir="rtl"] .pt h1, [dir="rtl"] .pt h2, [dir="rtl"] .pt h3 { letter-spacing: 0; line-height: 1.35; }
[dir="rtl"] .pt-hero::before { inset: -20% auto auto -10%; }

/* Link leggibili sul fondo scuro */
.pt a:not(.pt-btn):not(.btn-back-dynamic):not(.pt-lang a):not(.pt-links2 a) { color: #00D185; }
.pt-note a, .pt .m35-legal-notice a { color: #00D185; text-decoration: underline; }
.pt-price h3 a { color: inherit !important; }
