/*
Theme Name: LIGHT
Author:      SUSANTA PAUL
Description: Minimal two-page theme (Consent + Privacy Policy).
Version:     2.0
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fdilight
*/

:root {
    --color-primary: #ff0830;
    --color-secondary: #ff7e00;
    --color-light: #eeeef9;
    --color-blue: #0d0e45;
    --color-text: #212529;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-text);
    overflow-x: hidden;
}
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--color-primary); text-decoration: none; transition: 300ms; }
p { margin: 0 0 1rem; }
strong { font-weight: 600; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .5rem; font-weight: 500; line-height: 1.2; color: var(--color-blue); }
h1 { font-size: calc(1.375rem + 1.5vw); line-height: 1.1; }
h3 { font-size: calc(1.3rem + .6vw); }
h4 { font-size: calc(1.275rem + .3vw); }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
@media (min-width: 1200px) {
    h1 { font-size: 2.5rem; }
    h3 { font-size: 1.75rem; }
    h4 { font-size: 1.5rem; }
}
.container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.nowrap { white-space: nowrap; }
.text-primary { color: var(--color-primary) !important; }
.gradient {
    background: linear-gradient(90deg, var(--color-secondary), var(--color-primary));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.btn1 {
    display: inline-block;
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 500;
    padding: 12px 25px;
    border-radius: 50px;
    line-height: 1;
}
.btn1:hover { background-color: var(--color-blue); color: #fff; }

/* Header */
.header { background-color: var(--color-light); padding: 16px 0; }
.header-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
@media (max-width: 991px) {
    .header-row { flex-direction: column; gap: 16px; }
}

/* Footer */
.footer { background-color: #ebf0ff; padding: 32px 0; text-align: center; }
@media (min-width: 992px) {
    .footer { padding: 96px 0; }
}
.footer .abn { color: var(--color-primary); font-weight: 700; }
.footer-link { display: inline-flex; align-items: center; color: var(--color-blue); }
.footer-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: #fff;
}
.footer-text { margin-left: 10px; }
.footer-phone { font-size: 1.25rem; font-weight: 600; }

/* Form (Contact Form 7) */
input[type="text"], input[type="tel"] {
    width: 100%;
    font: inherit;
    outline: none;
    transition: all .3s ease-in-out;
}
.inp10 {
    border-radius: 50px;
    border: 2px solid #cacae2;
    background: #fff;
    padding: 12px 25px;
    color: #353567;
}
.inp10::placeholder { color: #7c7cb4; opacity: 1; }
.btn10 {
    display: block;
    width: 100%;
    border-radius: 50px;
    border: none;
    background: linear-gradient(90deg, var(--color-secondary), var(--color-primary));
    padding: 15px 35px;
    color: #fff;
    font: inherit;
    font-weight: bold;
    cursor: pointer;
    transition: all .3s ease;
}
.btn10:hover {
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(53, 53, 103, .15);
}
.get-a-quote .mb-3 { margin-bottom: 1rem; }
.get-a-quote .mb-4 { margin-bottom: 1.5rem; }
.wpcf7-spinner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/* Consent page */
.consent-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 70px;
    padding-bottom: 20px;
}
.consent-card {
    position: relative;
    width: 48%;
    padding: 40px;
    background: #f5f5ff;
    border: 3px solid #cacae2;
    border-radius: 25px;
}
.consent-card-icon { position: absolute; top: 0; left: 28px; }
.consent-card-title { margin: 0; padding-left: 50px; font-size: 30px; font-weight: 700; line-height: 1; }
.consent-card-today { padding: 0 0 20px 50px; font-size: 50px; font-weight: 700; line-height: 1; }
.consent-card-line { display: block; margin: -7px 0 31px 50px; }
.consent-info { display: flex; flex-direction: column; gap: 10px; width: 48%; }
.consent-info .eyebrow {
    margin: 0;
    color: var(--color-primary);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.consent-info-title { margin: 0; font-size: 30px; font-weight: 700; line-height: 1; }
.consent-info-line { align-self: flex-start; margin: 3px 0 11px; }
.consent-info > p { margin-bottom: calc(1rem + 20px); }
@media (max-width: 1024px) {
    .consent-card { width: 100%; }
    .consent-info { display: none; }
}
@media (max-width: 767px) {
    .consent-top { padding-top: 30px; padding-bottom: 0; }
}

.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 620px; }
.service-box {
    position: relative;
    padding: 28px 20px;
    border: 1px solid #cacae2;
    border-radius: 20px;
    background: rgba(255, 253, 243, .65);
    box-shadow: 0 6px 20px rgba(80, 60, 20, .035);
    text-align: center;
    transition: all .25s ease;
}
.service-box:hover { transform: translateY(-3px); }
.service-check {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid #ff4b23;
    border-radius: 50%;
    background: #ff4b23;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
.service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #fff0d8;
}
.service-box h3 { margin: 0 0 7px; font-size: 18px; line-height: 1.2; color: #101735; font-weight: 700; }
.service-box p { margin: 0; font-size: 14px; line-height: 1.5; color: #303047; }

.features-wrap { padding-top: 20px; padding-bottom: 20px; margin-bottom: 70px; }
.features {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 10px;
    background: #f5f5ff;
    border: 1px solid #cacae2;
    border-radius: 100px;
    box-shadow: 0 0 22px rgba(97, 140, 255, .3);
}
.feature { display: flex; align-items: center; gap: 5px; padding: 30px; }
.feature img { flex: 0 0 auto; margin-right: 15px; }
.feature h4 { margin: 0 0 5px; font-size: 20px; font-weight: 700; line-height: 1; }
.feature p { margin: 0; font-size: 17px; line-height: 1; }
@media (max-width: 767px) {
    .features-wrap { margin-bottom: 30px; }
    .features { flex-direction: column; border-radius: 30px; }
    .feature { flex-direction: column; padding: 20px 0 0; text-align: center; }
    .feature:last-child { padding-bottom: 20px; }
    .feature img { margin: 0; }
}

/* Privacy page */
.page-hero { background-color: var(--color-light); }
.page-hero-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.page-hero-row > div { width: 48%; }
.page-hero h1 { margin: 0 0 20px; color: var(--color-primary); font-weight: 700; line-height: 2.9rem; }
.page-hero h4 { margin: 0; font-weight: 500; line-height: 2rem; }
.page-hero-image { text-align: center; }
.privacy { position: relative; }
.privacy::after {
    content: '';
    position: absolute;
    left: 42%;
    top: 50px;
    width: 60px;
    height: 60px;
    background: url(assets/images/a.png) no-repeat;
    z-index: 3;
    animation: spin 4s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
    .page-hero-row { flex-direction: column; }
    .page-hero-row > div { width: 100%; text-align: center; }
    .privacy::after { left: 80%; top: 10px; }
}

.page-content { margin-top: 60px; margin-bottom: 60px; }
.page-content h3, .page-content h5 { margin-bottom: 1rem; }
@media (max-width: 767px) {
    .page-content { margin-top: 30px; margin-bottom: 30px; }
}
ul.default, ol.default { margin: 0 0 15px; padding: 0; list-style-position: outside; }
ul.default { list-style-type: disc; }
ol.default { list-style-type: decimal; }
ul.default li, ol.default li { margin: 0 0 8px 20px; padding: 0; }
ul.default li::marker, ol.default li::marker { color: var(--color-primary); }
ol.default li::marker { font-weight: bold; }

/* 404 page */
.error-404 { padding: 100px 0; text-align: center; }
.error-404-code { margin: 0; font-size: clamp(6rem, 20vw, 10rem); font-weight: 800; line-height: 1; }
.error-404 h1 { margin: 0 0 16px; font-weight: 700; }
.error-404-text { max-width: 520px; margin: 0 auto 32px; }
.error-404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.btn1-outline { background-color: transparent; color: var(--color-primary); box-shadow: inset 0 0 0 2px var(--color-primary); }
.btn1-outline:hover { box-shadow: inset 0 0 0 2px var(--color-blue); }
@media (max-width: 767px) {
    .error-404 { padding: 50px 0; }
}
