/* Domestic Help Visa UK page (ported from the Happy Baby child theme, re-skinned with the House of Yaya tokens).
 * Loaded only on the 'Core: Domestic Help Visa UK' template. */

.visa-uk-page *,.visa-uk-page *::before,.visa-uk-page *::after {box-sizing: border-box;}
.visa-uk-page img {max-width: 100%;height: auto;}
.visa-uk-page a {color: inherit;}
.visa-content {padding: 70px 0 96px;display: grid;grid-template-columns: 230px minmax(0, 1fr);gap: 55px;align-items: start;}
.visa-toc {position: sticky;top: 108px;border: 1px solid var(--line);background: var(--ivory);padding: 20px 18px;}
.visa-toc-title {margin: 0 0 12px;line-height: 1.3;font-weight: 800;}
.visa-toc ul {list-style: none;padding: 0;margin: 0;}
.visa-toc li {margin: 0;border-bottom: 1px solid var(--line);}
.visa-toc li:last-child {border-bottom: 0;}
.visa-toc a {display: block;padding: 7px 0;color: #5d5f58;font-size: 15px;line-height: 1.35;text-decoration: none;transition: color .2s ease;}
.visa-toc a:hover {color: #a66f1d;}
.visa-article {min-width: 0;}
.visa-article > *:first-child {margin-top: 0;}
.visa-article p {margin: 0 0 15px;line-height: 1.75;}
.visa-article h2 {margin: 38px 0 12px;padding-bottom: 9px;border-bottom: 1px solid var(--line);color: var(--green);font-size: 21px;line-height: 1.3;font-weight: 800;}
.visa-article h3 {margin: 24px 0 9px;color: var(--green);font-size: 25px;line-height: 1.35;font-weight: 800;}
.visa-article h4 {margin: 18px 0 7px;color: var(--green);}
.visa-article ul,.visa-article ol {margin: 8px 0 18px;padding-left: 20px;}
.visa-article li {margin-bottom: 6px;line-height: 1.6;}
.visa-alert {margin: 22px 0;padding: 15px 17px;border-left: 3px solid;}
.visa-alert p {margin: 0;}
.visa-alert strong {color: var(--green);}
.visa-alert-green {background: var(--cream);border-color: var(--green);}
.visa-alert-yellow {background-color: #f5e6c8;border-left-color: var(--ochre);}
.visa-alert-blue {background: var(--cream);border-color: var(--green);}
.visa-table-wrap {width: 100%;overflow-x: auto;margin: 15px 0 25px;}
.visa-table {width: 100%;border-collapse: collapse;background: #fff;}
.visa-table th,.visa-table td {padding: 9px 10px;border: 1px solid var(--line);text-align: left;vertical-align: top;}
.visa-table th {background: var(--cream);color: var(--green);font-weight: 800;}
.visa-table td {color: var(--ink);}
.visa-table tr.visa-table-total td {font-weight: 800;color: var(--green);background: var(--cream);}
.visa-steps {display: grid;gap: 12px;margin: 20px 0 35px;}
.visa-step {display: grid;grid-template-columns: 32px 1fr;gap: 50px;padding: 17px 16px;background: var(--cream);border-radius: 0;}
.visa-step-number {width: 50px;height: 50px;border-radius: 50%;display: flex;align-items: center;justify-content: center;background: var(--green);color: #fff;font-size: 22px;font-weight: 800;}
.visa-step h4 {margin: 0 0 4px;font-size: 19px;font-weight: 800;}
.visa-step-meta {margin-bottom: 5px;font-size: 17px;}
.visa-step p {margin: 0;font-size: 15px;line-height: 1.6;}
.visa-cta {margin: 32px 0;padding: 30px 25px;background: var(--green) !important;border-radius: 0;text-align: center;color: #fff;}
.visa-cta h3 {margin: 0 0 8px;color: #fff;font-size: 25px;}
.visa-cta p {max-width: 550px;margin: 0 auto 16px;}
.visa-cta a {display: inline-block;text-decoration: none;color: #fff !important;background: var(--ink) !important;border: none !important;padding: 15px 20px !important;border-radius: 0 !important;font-weight: 500;transition: background 0.3s !important;font-size: 18px !important;}
.visa-faq {margin-top: 25px;}
.visa-faq details {margin-bottom: 10px;border: 1px solid var(--line);background: #fff;}
.visa-faq summary {position: relative;cursor: pointer;list-style: none;padding: 14px 40px 14px 15px;color: var(--green);font-size: 19px;line-height: 25px;font-weight: 700;}
.visa-faq summary::-webkit-details-marker {display: none;}
.visa-faq summary::after {content: "+";position: absolute;right: 15px;top: 50%;transform: translateY(-50%);color: #5d5f58;font-size: 16px;font-weight: 400;}
.visa-faq details[open] summary::after {content: "−";}
.visa-faq-answer {padding: 0 15px 15px;border-top: 1px solid var(--line);}
.visa-faq-answer p {margin: 12px 0 0;font-size: 17px;}
.visa-muted {color: #5d5f58;}
.visa-check-list {list-style: none !important;padding-left: 0 !important;}
.visa-check-list li {position: relative;padding-left: 20px;}
.visa-check-list li::before {content: "✓";position: absolute;left: 0;top: 0;color: var(--ink) !important;font-weight: 800;}
.visa-recommend {background-color: var(--cream);border-left: 5px solid var(--green);border-radius: 0;padding: 18px 22px;margin: 20px 0;}
aside.visa-toc ul li a:hover {color: #a66f1d !important;}
.visa-recommend p {margin: 0;line-height: 1.6;color: var(--ink);}
@media (max-width: 900px) {
    .visa-content {grid-template-columns: 190px minmax(0, 1fr);gap: 30px;}
}
@media (max-width: 700px) {
    .visa-content {padding-top: 36px;display: block;}
    .visa-toc {position: static;margin-bottom: 30px;}
    .visa-toc ul {columns: 2;column-gap: 20px;}
    .visa-toc li {break-inside: avoid;}
    .visa-article h2 {font-size: 19px;}
}
@media (max-width: 480px) {
    .visa-toc ul {columns: 1;}
    .visa-step {grid-template-columns: 27px 1fr;padding: 14px;}
    .visa-table {min-width: 560px;}
}

/* ---- Hero (uses the theme's cream hero look) ---- */
.visa-hero{background:var(--cream);padding:88px 0 76px}
.visa-herogrid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.visa-hero h1{font-size:72px;max-width:640px}
.visa-hero .lead{font:26px/1.3 Georgia,serif;color:var(--green);margin:18px 0 28px;max-width:620px}
.visa-heroimg img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover}
.visa-stats{display:flex;gap:44px;flex-wrap:wrap}
.visa-stat strong{display:block;font:34px/1 Georgia,serif;color:var(--green)}
.visa-stat span{display:block;margin-top:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#a66f1d}
@media (max-width:900px){.visa-herogrid{grid-template-columns:1fr;gap:34px}.visa-hero h1{font-size:52px}}
@media (max-width:700px){.visa-hero{padding:56px 0 48px}.visa-hero h1{font-size:42px}.visa-hero .lead{font-size:21px}.visa-stats{gap:24px}}

/* ---- Article skin ---- */
.visa-toc-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--green);font-size:26px}
.visa-article h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:36px;line-height:1.08}
.visa-article h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:28px;line-height:1.15}
.visa-article h4,.visa-step h4{font-family:Inter,Arial,sans-serif}
.visa-step-number{font-family:Georgia,serif}
.visa-cta h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:38px;color:#fff}
.visa-cta a{background:var(--ochre)!important;color:var(--ink)!important;border:1px solid var(--ochre)!important;border-radius:0!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;min-height:49px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px!important}
.visa-cta a:hover{background:#fff!important;border-color:#fff!important}
.visa-faq summary{font-size:18px}
.visa-uk-page *,.visa-uk-page *::before,.visa-uk-page *::after{box-sizing:border-box}
.visa-uk-page img{max-width:100%;height:auto}
@media (max-width:700px){.visa-article h2{font-size:30px}}
