/* JTranslation.com.au — New Design System (v2) */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--sage-50:#f6f7f4;--sage-100:#e8ebe3;--sage-200:#d1d7c7;--warm-50:#faf8f5;--warm-100:#f3efe8;--clinic-600:#c22;--clinic-700:#a11;--clinic-800:#811}
html{scroll-behavior:smooth}
body{font-family:'Inter','Helvetica Neue',Arial,sans-serif;color:#334155;background:var(--warm-50);line-height:1.6;font-size:15px}
h1,h2,h3,h4{font-family:'Playfair Display',serif;color:#1e293b;line-height:1.3}
a{color:var(--clinic-600);text-decoration:none;transition:color .2s}
a:hover{color:var(--clinic-800)}
img{max-width:100%;height:auto}

/* Nav */
.nav{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sage-100);position:sticky;top:0;z-index:50}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.nav-logo{display:flex;align-items:center;font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#1e293b}
.nav-logo img{margin-right:8px}
.nav-logo span{color:var(--clinic-600)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:14px;font-weight:500;color:#64748b}
.nav-links a:hover{color:var(--clinic-700)}
.nav-cta{background:var(--clinic-600);color:#fff!important;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .2s}
.nav-cta:hover{background:var(--clinic-700);color:#fff!important}

/* Footer */
footer{background:#111827;color:#9ca3af;padding:40px 24px;font-size:13px}
footer a{color:#9ca3af}footer a:hover{color:#fff}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-links{margin-bottom:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 24px}
.footer-cities{text-align:center;margin-bottom:16px;line-height:1.8}
.footer-bottom{text-align:center}

/* Layout — subpage compat */
.container{max-width:1100px;margin:0 auto;padding:0 24px;position:relative}
.shadow{min-height:100vh}
.top,.bottom{display:none} /* hide old chrome */
article{padding:40px 0 60px}
.fullpage{max-width:900px;margin:0 auto;padding:30px 0 50px}
.fullpage h1{font-size:1.8rem;margin-bottom:24px}
.fullpage h2{font-size:1.2rem;margin:24px 0 8px;color:var(--clinic-600)}
.fullpage p{margin-bottom:12px;color:#475569;line-height:1.6}

/* Page hero (subpages) */
.page-hero{background:linear-gradient(135deg,var(--sage-50),var(--warm-50),var(--sage-100));padding:72px 24px 56px}
.page-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.page-hero-text{text-align:left}
.page-hero .hero-badge{display:inline-block;background:rgba(204,34,34,.08);color:var(--clinic-700);font-size:13px;font-weight:600;padding:6px 16px;border-radius:20px;margin-bottom:16px}
.page-hero h1{font-size:2.4rem;margin-bottom:16px}
.page-hero p{color:#64748b;font-size:16px;margin-bottom:24px;max-width:480px}
.page-hero .hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.page-hero-img{border-radius:16px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.08);display:flex}
.page-hero-img img{width:100%;height:100%;min-height:280px;object-fit:cover}
/* Simple hero fallback (no image) */
.page-hero-simple{text-align:center;max-width:700px;margin:0 auto}
.page-hero-simple h1{font-size:2.2rem;margin-bottom:8px}
.page-hero-simple p{margin:0 auto}

/* Page content (clean subpage layout) */
.page-content{padding:48px 24px;background:#fff}
.page-inner{display:grid;grid-template-columns:1fr 300px;gap:40px;margin-bottom:40px}
.content-main{min-width:0}
.content-main p{color:#475569;font-size:15px;line-height:1.6;margin-bottom:16px}
.content-side img{width:100%}
.side-box{background:var(--sage-50);border:1px solid var(--sage-200);border-radius:12px;padding:20px}
.side-box h3{font-size:1rem;margin-bottom:12px;font-family:'Inter',sans-serif;font-weight:600}
.side-box ul{list-style:none;padding:0;margin:0}
.side-box li{padding:6px 0;font-size:13px;border-bottom:1px solid var(--sage-200);position:static}
.side-box li::before{display:none!important}
.side-box li:last-child{border:0}
.side-box a,.side-box li a{color:#475569;font-weight:400}
.side-box a:hover,.side-box li a:hover{color:#475569;text-decoration:none}

/* Tick list styling (content lists) */
.page-content ul,.content-main ul,.fullpage ul,.languageSection ul:not(.language-list){list-style:none;padding:0;margin:0 0 16px}
.page-content li,.content-main li,.fullpage li,.languageSection li{position:relative;padding:6px 0 6px 28px;font-size:14px;color:#475569;line-height:1.6}
.page-content li::before,.content-main li::before,.fullpage li::before{content:"\2713";position:absolute;left:0;top:8px;width:18px;height:18px;background:var(--clinic-600);color:#fff;border-radius:50%;font-size:10px;line-height:18px;text-align:center}
.page-content li a,.content-main li a{color:#475569;font-weight:400;text-decoration:none}
.page-content li a:hover,.content-main li a:hover{color:#475569;text-decoration:none}

.check-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
.check-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--sage-200);border-radius:12px;padding:16px}
.check-icon{width:24px;height:24px;min-width:24px;background:var(--clinic-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;margin-top:2px}
.check-item b{font-size:15px;font-family:'Inter',sans-serif;color:#1e293b;display:block;margin-bottom:2px}
.check-item div{font-size:14px;color:#475569;line-height:1.5}

.btn-cta{display:inline-block;background:var(--clinic-600);color:#fff;padding:13px 32px;border-radius:10px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 4px 14px rgba(204,34,34,.2)}
.btn-cta:hover{background:var(--clinic-700);color:#fff;transform:translateY(-1px)}

.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0}
.feat-card{background:var(--sage-50);border:1px solid var(--sage-200);border-radius:12px;padding:20px}
.feat-card b{display:block;font-size:14px;margin-bottom:4px;font-family:'Inter',sans-serif;color:#1e293b}
.feat-card p{font-size:13px;color:#64748b;margin:0;line-height:1.5}
.feat-icon{width:36px;height:36px;background:var(--clinic-600);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}

/* Two-column layout (Location/Translator pages) */
.colLeft{float:left;width:550px;margin-bottom:40px}
.colLeft h1{font-size:1.8rem;margin:24px 0 16px}
.colLeft h2{font-size:1.3rem;color:#1e293b;margin:24px 0 12px}
.colLeft h3{font-size:1.1rem;margin:20px 0 8px}
.colLeft p{color:#475569;line-height:1.6;margin-bottom:12px;padding-right:30px}
.colLeft a{color:var(--clinic-600)}

/* Form area (subpages that use inline form) */
.drivingLicenseForm{float:left;margin:30px 0 30px 50px;width:410px}
.drivingLicenseForm h3{font-size:1.1rem;margin-bottom:8px}
.drivingLicenseForm p{color:#475569;line-height:1.5;margin-bottom:12px}
.drivingLicenseForm input,.drivingLicenseForm textarea,.drivingLicenseForm select{border:1px solid #d1d5db;color:#334155;margin:0 0 8px;padding:10px 12px;width:100%;font-size:14px;border-radius:8px;font-family:'Inter',sans-serif}
.drivingLicenseForm input:focus,.drivingLicenseForm select:focus,.drivingLicenseForm textarea:focus{outline:none;border-color:var(--clinic-600);box-shadow:0 0 0 3px rgba(204,34,34,.08)}
.drivingLicenseForm textarea{height:80px;font-family:'Inter',sans-serif;resize:vertical}
#formRight form{width:410px;overflow:hidden;padding:10px 0}
#formRight .input-From{float:left;width:48%;margin:0 2% 8px 0}
#formRight .input-To{float:left;width:50%}
.drivingLicenseForm #btnSubmit,#btnSubmit{background:var(--clinic-600);border:0;display:block;height:44px;width:100%;cursor:pointer;color:#fff;font-size:15px;font-weight:600;margin:3px 0 11px;border-radius:8px;transition:background .2s}
#btnSubmit:hover{background:var(--clinic-700)}
#btnDeposit{display:block;background:var(--clinic-600);color:#fff;padding:13px 32px;text-transform:uppercase;border-radius:8px;font-size:16px;font-weight:bold;cursor:pointer;border:0}
#btnDeposit:hover{background:var(--clinic-700)}

/* Validation */
label.error{color:#dc2626;display:block;font-size:12px;padding:0 0 0 2px;position:relative;text-align:left;top:-4px;clear:both;margin:0 0 5px}
input.error,select.error{border:solid 1px #dc2626!important}

/* Checkpoints */
.checkPoint{margin:24px 0 0;display:flex;gap:12px;align-items:flex-start}
.checkPoint b{font-weight:700;color:#1e293b;display:block;font-size:16px;margin:0 0 4px;font-family:'Inter',sans-serif}
.checkPoint .point{line-height:1.5;color:#475569}
.checkPoint .material-icons{color:var(--clinic-600);font-size:24px;margin-top:2px}

/* Feature section */
.feature{border-top:1px solid var(--sage-200);padding:48px 0;background:var(--sage-50);overflow:hidden}
.feature .container{display:flex;flex-wrap:wrap;gap:24px 40px}
.feature-row{display:flex;gap:16px;align-items:flex-start;width:calc(50% - 20px)}
.feature-item{flex:1}
.feature .feature-icon{width:44px;min-width:44px;height:44px;background:var(--clinic-600);border-radius:22px;display:flex;align-items:center;justify-content:center}
.feature .feature-icon .material-icons{font-size:24px;line-height:44px;color:#fff}
.feature .feature-title{font-size:1rem;color:#1e293b;font-weight:700;margin-bottom:4px;font-family:'Inter',sans-serif}
.feature-description{line-height:1.5;color:#475569;font-size:14px}
.feature-description a{color:var(--clinic-600)}

/* Language section */
.languageSection{overflow:hidden;padding:24px 0;border-top:1px solid var(--sage-200)}
.languageSection p{color:#475569;line-height:1.6;margin-bottom:12px}
.languageSection video{float:right;margin:0 0 16px 20px;border-radius:12px;max-width:320px}
.language-list{float:left;width:330px;list-style:none;margin:0;padding:12px 0 24px}
.language-list li{padding:6px 0 6px 4px;font-size:14px;line-height:1.6}
.language-list li a{color:var(--clinic-600);font-weight:500}
.language-list li a:hover{color:var(--clinic-800)}

/* File upload */
.fileinput{width:100%;margin-bottom:8px}
#uploadedFiles{list-style:none;padding:0;margin:0}
#uploadedFiles.populated{margin:0 0 16px}
#uploadedFiles li{line-height:2;margin:0 0 4px;position:relative;font-size:12px;padding:4px 8px;background:var(--sage-50);border-radius:4px;display:flex;justify-content:space-between;align-items:center}
#uploadedFiles li .removeFile,.remove-file{background:none;color:#dc2626;border:0;border-radius:3px;font-size:12px;padding:2px 6px;cursor:pointer;font-weight:600}

/* Phone input */
.iti__selected-flag{height:36px!important}
.iti{margin-bottom:0}

/* Submit loader */
.submitLoader{clear:both;padding:12px;text-align:center;color:#64748b;font-size:13px;margin:8px 0}

/* Misc compat */
.clearFloats{clear:both;line-height:0}
.feature .clearFloats{display:none;clear:none}
.req{font-size:12px;color:#94a3b8;margin:4px 0}
.mobileHide{}
.hdrTranslateLicense{margin:10px 0;font-size:1.1rem}
p a{color:var(--clinic-600)}
.infoBox{border:1px solid var(--sage-200);border-radius:12px;padding:20px;margin:0 0 20px;font-size:14px;line-height:1.5;color:#475569}
.infoBox li{margin:0 0 8px}
.price{font-size:18px;font-weight:600}

/* Payment page compat */
.payForm input[type='text']{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;margin-bottom:4px;font-size:14px}
.stripeLogo{float:right;width:300px;margin:0 0 0 20px}
.smaller{font-size:14px}

/* Material Icons (still used on some subpages) */
.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;color:var(--clinic-600)}

/* Video */
video{border-radius:12px;cursor:pointer;max-width:100%}

/* Table compat */
.ruleTbl{margin:10px 0 40px;background:#fff;border:1px solid var(--sage-200);border-radius:8px;overflow:hidden}
.ruleTbl th{text-align:left;background:var(--sage-50);padding:10px 12px;font-size:13px}
.ruleTbl td{vertical-align:top;padding:12px;border-bottom:1px solid var(--sage-100);font-size:14px;color:#475569}
.ruleTbl tr:last-child td{border-bottom:none}
.ruleTbl a{color:var(--clinic-600)}

/* Responsive */
@media(max-width:768px){
  .nav-links{display:none}
  .container{padding:0 16px}
  .colLeft{float:none;width:100%}
  .drivingLicenseForm{float:none;margin:20px 0;width:100%}
  #formRight form{width:100%}
  .feature-row{width:100%}
  .language-list{float:none;width:100%}
  .languageSection video{float:none;margin:0 0 16px;max-width:100%}
  .mobileHide{display:none}
  .page-hero-inner{grid-template-columns:1fr;text-align:center}
  .page-hero-text{text-align:center}
  .page-hero h1{font-size:1.6rem}
  .page-hero .hero-btns{justify-content:center}
  .page-hero-img{display:none}
  .page-inner{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .footer-links{flex-wrap:wrap;gap:12px}
}
