/* InfoIschia Common Styles
   Shared styles extracted from standalone templates to reduce duplication.
   Linked by all public-facing pages. */

:root {
    --primary: #1e3c72;
    --primary-dark: #152a4f;
    --secondary: #2a5298;
    --accent: #f5a623;
    --accent-hover: #e09000;
    --light-bg: #f8f9fa;
}

body { font-family: 'Segoe UI', system-ui, sans-serif; }

/* Header styles are in _header.html partial — do NOT duplicate here */

/* Footer */
footer {
    background: var(--primary); color: white;
    padding: 40px 0 20px; margin-top: 80px;
}
footer h5 { font-weight: 600; margin-bottom: 20px; }
footer a { color: rgba(255,255,255,0.8); text-decoration: none; }
footer a:hover { color: var(--accent); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.15); margin-top: 30px; padding-top: 20px; }
.social-links a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,0.1); margin-right: 8px;
    transition: all 0.3s;
}
.social-links a:hover { background: var(--accent); color: white; }

/* Breadcrumbs */
.breadcrumb-section { background: var(--light-bg); padding: 12px 0; border-bottom: 1px solid #e9ecef; }
.breadcrumb { margin-bottom: 0; font-size: 0.9rem; }
.breadcrumb-item a { color: var(--secondary); text-decoration: none; }
.breadcrumb-item a:hover { color: var(--accent); }
.breadcrumb-item.active { color: #6c757d; }

/* Page hero */
.page-hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    padding: 80px 0 50px; color: white; text-align: center;
}
.page-hero h1 { font-size: 2.8rem; font-weight: 700; margin-bottom: 15px; }
.page-hero p { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }

/* iOS auto-zoom prevention — font-size >= 16px on form controls */
@media (max-width: 768px) {
    select, input[type="text"], input[type="date"], input[type="number"],
    input[type="email"], input[type="tel"], textarea {
        font-size: 16px !important;
    }
}

/* Small phone breakpoint (<=576px) */
@media (max-width: 576px) {
    .page-hero { padding: 50px 0 30px; }
    .page-hero h1 { font-size: 1.8rem; }
    .page-hero p { font-size: 1rem; }
    footer { padding: 30px 0 15px; margin-top: 40px; }
    footer h5 { font-size: 1rem; margin-bottom: 12px; }
    .footer-bottom { margin-top: 20px; padding-top: 15px; }
    .footer-bottom p { font-size: 0.8rem; }
}

/* Tablet breakpoint (<=768px) */
@media (max-width: 768px) {
    .page-hero h1 { font-size: 2rem; }
    footer { margin-top: 50px; }
}
