/* =========================================================
   AWS DETAIL PAGE — awsdetail.blade.php
   Requires aws.css (colour tokens, size scale, hero, popup).
   Breakpoints: 3840 · 2560 · 1920 · 1440 · 1366 · 1280 · 1024 · 768 · 576 · 480 · 375 · 320
   (sizes scale through the variables defined in aws.css)
   ========================================================= */

.aws-detail-page {
    --awsd-y: max(28px, calc(var(--aws-section-y) * .5));
    width: 100%;
    color: var(--aws-text);
    overflow: clip;
}
.aws-detail-page *,
.aws-detail-page *::before,
.aws-detail-page *::after { box-sizing: border-box; }
.aws-detail-page img { max-width: 100%; height: auto; }
.aws-detail-page h1,
.aws-detail-page h2,
.aws-detail-page h3,
.aws-detail-page p { overflow-wrap: break-word; }

.aws-detail-page .container {
    width: min(var(--aws-container), calc(100% - var(--aws-gutter)));
    margin-inline: auto;
}

/* ---------- Sections ---------- */
.aws-detail-page .aws-detail-section,
.aws-detail-page .aws-detail-contact-section { position: relative; padding: var(--awsd-y) 0; }
.aws-detail-page .aws-detail-section-light { background: var(--aws-soft); }

.aws-detail-page .aws-detail-content { max-width: min(100%, calc(var(--aws-container) * .85)); margin-inline: auto; }

.aws-detail-page .aws-detail-content > h2,
.aws-detail-page .aws-detail-section-header h2,
.aws-detail-page .aws-detail-contact-inner h2,
.aws-detail-page .aws-detail-cta-inner h2 {
    margin: 0 0 16px;
    color: var(--aws-primary);
    font-size: var(--aws-h2);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
}
.aws-detail-page .aws-detail-content > p,
.aws-detail-page .aws-detail-section-header p,
.aws-detail-page .aws-detail-contact-inner p {
    color: var(--aws-muted);
    font-size: var(--aws-lead);
    line-height: 1.8;
}
.aws-detail-page .aws-detail-content > p { margin: 0 0 22px; }
.aws-detail-page .aws-detail-section-header { max-width: 850px; margin: 0 auto calc(var(--aws-gap) * 1.9); text-align: center; }
.aws-detail-page .aws-detail-section-header h2 { margin-bottom: 14px; }
.aws-detail-page .aws-detail-section-header p { margin: 0; }
.aws-detail-page .aws-detail-section-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--aws-blue);
    font-size: calc(var(--aws-small) * .86);
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

/* ---------- Two-column content / info boxes ---------- */
.aws-detail-page .aws-detail-content-grid,
.aws-detail-page .aws-detail-split-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: calc(var(--aws-gap) * 2);
    margin-top: calc(var(--aws-gap) * 1.5);
}
.aws-detail-page .aws-detail-content-grid h3 { margin: 0 0 18px; color: var(--aws-primary); font-size: calc(var(--aws-h3) * 1.3); line-height: 1.25; }
.aws-detail-page .aws-detail-content-grid p { color: var(--aws-muted); font-size: var(--aws-body); line-height: 1.75; }
.aws-detail-page .aws-detail-content-grid:has(.aws-detail-info-box) { align-items: stretch; gap: var(--aws-gap); }

.aws-detail-page .aws-detail-info-box,
.aws-detail-page .aws-detail-content-panel,
.aws-detail-page .aws-detail-process-panel {
    padding: calc(var(--aws-pad) * 1.1);
    background: #fff;
    border: 1px solid var(--aws-border);
    border-radius: var(--aws-radius);
    box-shadow: 0 10px 32px rgba(11, 45, 117, .065);
}
.aws-detail-page .aws-detail-info-box h3 { margin-bottom: 14px; font-size: calc(var(--aws-h3) * 1.1); }
.aws-detail-page .aws-detail-info-box p { margin: 0; }
.aws-detail-page .aws-detail-info-box strong { color: var(--aws-primary); }
.aws-detail-page .aws-detail-content-panel h3 { margin: 0 0 12px; color: var(--aws-primary); font-size: calc(var(--aws-h3) * 1.15); }
.aws-detail-page .aws-detail-content-panel p { margin: 0 0 18px; color: var(--aws-muted); font-size: var(--aws-body); line-height: 1.75; }

.aws-detail-page .aws-detail-check-list { display: grid; gap: 13px; margin: 22px 0 0; padding: 0; list-style: none; }
.aws-detail-page .aws-detail-check-list li { display: flex; gap: 11px; align-items: flex-start; color: var(--aws-text); font-size: var(--aws-body); line-height: 1.65; }
.aws-detail-page .aws-detail-check-list li::before {
    content: "✓";
    display: inline-flex;
    flex: 0 0 1.5em;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    margin-top: 1px;
    color: #fff;
    background: var(--aws-blue);
    border-radius: 50%;
    font-size: .8em;
    font-weight: 700;
}
.aws-detail-page .aws-detail-inline-link { display: inline-flex; gap: 8px; align-items: center; color: var(--aws-orange); font-weight: 700; text-decoration: none; }
.aws-detail-page .aws-detail-inline-link:hover { text-decoration: underline; }

/* ---------- Card grids ---------- */
.aws-detail-page .aws-detail-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--aws-gap); }
.aws-detail-page .aws-detail-services-grid.is-4col,
.aws-detail-page .aws-detail-benefits-grid,
.aws-detail-page .aws-detail-package-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aws-detail-page .aws-detail-benefits-grid,
.aws-detail-page .aws-detail-package-grid { display: grid; gap: var(--aws-gap); }

.aws-detail-page .aws-detail-service-card,
.aws-detail-page .aws-detail-benefit-card,
.aws-detail-page .aws-detail-package {
    min-width: 0;
    padding: var(--aws-pad);
    background: #fff;
    border: 1px solid var(--aws-border);
    border-radius: var(--aws-radius);
    box-shadow: 0 8px 28px rgba(11, 45, 117, .055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.aws-detail-page .aws-detail-service-card:hover,
.aws-detail-page .aws-detail-benefit-card:hover,
.aws-detail-page .aws-detail-package:hover { transform: translateY(-4px); border-color: #B9D5F5; box-shadow: 0 16px 38px rgba(11, 45, 117, .11); }

.aws-detail-page .aws-detail-card-number { display: inline-block; margin-bottom: 18px; color: var(--aws-blue); font-size: var(--aws-small); font-weight: 700; letter-spacing: 1px; }
.aws-detail-page .aws-detail-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--aws-icon) * .92);
    height: calc(var(--aws-icon) * .92);
    margin-bottom: 18px;
    color: var(--aws-blue);
    background: var(--aws-light);
    border-radius: 13px;
    font-size: calc(var(--aws-icon) * .44);
    font-weight: 700;
}
.aws-detail-page .aws-detail-service-card h3,
.aws-detail-page .aws-detail-benefit-card h3 { margin: 0 0 11px; color: var(--aws-primary); font-size: var(--aws-h3); font-weight: 700; line-height: 1.35; }
.aws-detail-page .aws-detail-service-card p,
.aws-detail-page .aws-detail-benefit-card p { margin: 0; color: var(--aws-muted); font-size: var(--aws-small); line-height: 1.75; }

/* ---------- Process steps ---------- */
.aws-detail-page .aws-detail-process-panel { display: grid; }
.aws-detail-page .aws-detail-process-step { display: flex; gap: 17px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--aws-border); }
.aws-detail-page .aws-detail-process-step:first-child { padding-top: 0; }
.aws-detail-page .aws-detail-process-step:last-child { padding-bottom: 0; border-bottom: 0; }
.aws-detail-page .aws-detail-process-step > b {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: calc(var(--aws-icon) * .8);
    height: calc(var(--aws-icon) * .8);
    color: var(--aws-blue);
    background: var(--aws-light);
    border-radius: 12px;
    font-size: var(--aws-small);
}
.aws-detail-page .aws-detail-process-step span { display: grid; gap: 4px; min-width: 0; }
.aws-detail-page .aws-detail-process-step strong { color: var(--aws-primary); font-size: var(--aws-body); }
.aws-detail-page .aws-detail-process-step small { color: var(--aws-muted); font-size: calc(var(--aws-small) * .93); line-height: 1.5; }

/* ---------- Packages ---------- */
.aws-detail-page .aws-detail-package { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: var(--aws-pad) calc(var(--aws-pad) * .85); text-align: center; }
.aws-detail-page .aws-detail-package.is-featured { border-color: var(--aws-orange); }
.aws-detail-page .aws-detail-package-name {
    width: 100%;
    margin: 0;
    padding: .7em 1em;
    color: #fff;
    background: linear-gradient(135deg, var(--aws-primary), var(--aws-secondary));
    border-radius: 9px;
    font-size: calc(var(--aws-body) * 1.07);
    font-weight: 700;
}
.aws-detail-page .aws-detail-package-price { margin: 0; color: var(--aws-primary); font-size: calc(var(--aws-h2) * .62); font-weight: 700; }
.aws-detail-page .aws-detail-package ul { flex: 1; width: 100%; margin: 0; padding: 0; list-style: none; color: var(--aws-muted); font-size: var(--aws-small); line-height: 1.5; }
.aws-detail-page .aws-detail-package li { padding: 7px 0; border-bottom: 1px dashed var(--aws-border); }
.aws-detail-page .aws-detail-package li:last-child { border-bottom: 0; }
.aws-detail-page .aws-detail-package .aws-detail-btn { width: 100%; color: #fff; background: var(--aws-orange); }
.aws-detail-page .aws-detail-package .aws-detail-btn:hover { color: #fff; background: #E56E00; }
.aws-detail-page .aws-detail-note { max-width: 920px; margin: calc(var(--aws-gap) * 1.2) auto 0; color: var(--aws-muted); font-size: calc(var(--aws-small) * .93); line-height: 1.7; text-align: center; }

/* ---------- Tables ---------- */
.aws-detail-page .aws-detail-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border: 1px solid var(--aws-border);
    border-radius: calc(var(--aws-radius) * .9);
    box-shadow: 0 8px 28px rgba(11, 45, 117, .055);
}
.aws-detail-page .aws-detail-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: var(--aws-small); }
.aws-detail-page .aws-detail-table th,
.aws-detail-page .aws-detail-table td { padding: .85em 1.15em; border-bottom: 1px solid #EDF2F8; text-align: center; }
.aws-detail-page .aws-detail-table thead th { color: #fff; background: var(--aws-primary); font-weight: 700; }
.aws-detail-page .aws-detail-table thead th:not(:first-child) { color: #FFC48A; }
.aws-detail-page .aws-detail-table thead th:first-child,
.aws-detail-page .aws-detail-table tbody th { text-align: left; }
.aws-detail-page .aws-detail-table tbody th { color: var(--aws-text); font-weight: 500; }
.aws-detail-page .aws-detail-table tbody tr:nth-child(even) { background: var(--aws-soft); }
.aws-detail-page .aws-detail-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.aws-detail-page .aws-detail-tick { color: var(--aws-blue); font-weight: 700; }
.aws-detail-page .aws-detail-dash { color: #A7B3C4; }
.aws-detail-page .aws-detail-status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.aws-detail-page .aws-detail-status i { font-size: .85em; font-style: normal; }
.aws-detail-page .aws-detail-status.is-yes i { color: #16A34A; }
.aws-detail-page .aws-detail-status.is-no i { color: #E11D48; }
.aws-detail-page .aws-detail-status.is-warn i { color: #D97706; }

/* ---------- Regions ---------- */
.aws-detail-page .aws-detail-regions-panel {
    padding: calc(var(--aws-pad) * 1.4) calc(var(--aws-pad) * 1.45);
    color: #fff;
    background: linear-gradient(135deg, var(--aws-primary), var(--aws-secondary));
    border-radius: calc(var(--aws-radius) * 1.1);
    box-shadow: var(--aws-shadow);
}
.aws-detail-page .aws-detail-regions-panel h2 { margin: 0 0 28px; color: #fff; font-size: calc(var(--aws-h2) * .88); line-height: 1.25; text-align: center; }
.aws-detail-page .aws-detail-regions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--aws-gap) * 1.5); }
.aws-detail-page .aws-detail-regions-grid h3 { margin: 0 0 14px; color: #FFC48A; font-size: calc(var(--aws-h3) * .95); }
.aws-detail-page .aws-detail-regions-grid ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; font-size: var(--aws-small); line-height: 1.55; }
.aws-detail-page .aws-detail-regions-grid li { display: flex; gap: 10px; align-items: flex-start; }
.aws-detail-page .aws-detail-regions-grid li::before {
    content: "✓";
    display: inline-flex;
    flex: 0 0 1.4em;
    align-items: center;
    justify-content: center;
    width: 1.4em;
    height: 1.4em;
    margin-top: 1px;
    color: var(--aws-primary);
    background: #86EFAC;
    border-radius: 50%;
    font-size: .8em;
    font-weight: 700;
}
.aws-detail-page .aws-detail-regions-note { margin: 28px 0 0; color: rgba(255, 255, 255, .8); font-size: calc(var(--aws-small) * .93); line-height: 1.7; text-align: center; }

/* ---------- Service reference ---------- */
.aws-detail-page .aws-detail-reference-panel {
    padding: calc(var(--aws-pad) * 1.45) calc(var(--aws-pad) * 1.3) calc(var(--aws-pad) * 1.15);
    background: #fff;
    border: 1px solid var(--aws-border);
    border-radius: calc(var(--aws-radius) * 1.1);
    box-shadow: 0 12px 35px rgba(11, 45, 117, .07);
}
.aws-detail-page .aws-detail-reference-panel .aws-detail-section-header { margin-bottom: 32px; }
.aws-detail-page .aws-detail-reference-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 26px; }
.aws-detail-page .aws-detail-reference-group { min-width: 0; }
.aws-detail-page .aws-detail-reference-group h3 { margin: 0 0 12px; padding-bottom: 8px; color: var(--aws-orange); border-bottom: 2px solid #FFD9B3; font-size: calc(var(--aws-body) * 1.03); font-weight: 700; }
.aws-detail-page .aws-detail-reference-group ul { margin: 0; padding-left: 18px; color: var(--aws-muted); font-size: var(--aws-small); line-height: 1.7; }
.aws-detail-page .aws-detail-reference-group li::marker { color: var(--aws-blue); }

/* ---------- Buttons, CTA, contact ---------- */
.aws-detail-page .aws-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.aws-detail-page .aws-detail-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--aws-btn-h);
    padding: .7em 1.35em;
    color: var(--aws-primary);
    background: #fff;
    border: 1px solid transparent;
    border-radius: calc(var(--aws-radius) * .45);
    font-size: var(--aws-btn-fs);
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.aws-detail-page .aws-detail-btn:hover { color: var(--aws-blue); background: #F0F7FF; }
.aws-detail-page .aws-detail-btn-outline { color: #fff; background: transparent; border-color: rgba(255, 255, 255, .7); }
.aws-detail-page .aws-detail-btn-outline:hover { color: var(--aws-primary); background: #fff; border-color: #fff; }

.aws-detail-page .aws-detail-cta-section {
    padding: calc(var(--awsd-y) * 1.7) 0;
    color: #fff;
    background: linear-gradient(135deg, var(--aws-primary), var(--aws-secondary));
}
.aws-detail-page .aws-detail-contact-section { background: #fff; }
.aws-detail-page .aws-detail-cta-inner,
.aws-detail-page .aws-detail-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.aws-detail-page .aws-detail-cta-inner > div:first-child,
.aws-detail-page .aws-detail-contact-inner > div:first-child { max-width: 700px; }
.aws-detail-page .aws-detail-cta-inner .aws-detail-section-eyebrow { color: #BBD8FF; }
.aws-detail-page .aws-detail-cta-inner h2 { margin-bottom: 12px; color: #fff; }
.aws-detail-page .aws-detail-cta-inner p { margin: 0; color: rgba(255, 255, 255, .86); font-size: var(--aws-lead); line-height: 1.7; }
.aws-detail-page .aws-detail-contact-inner h2 { margin-bottom: 12px; }
.aws-detail-page .aws-detail-contact-inner p { margin: 0; }
.aws-detail-page .aws-detail-contact-inner .aws-detail-btn { color: var(--aws-primary); background: #fff; border-color: #C9D9EC; }
.aws-detail-page .aws-detail-contact-inner .aws-detail-btn:hover { color: var(--aws-blue); border-color: var(--aws-blue); }

/* =========================================================
   RESPONSIVE — layout changes only (sizes come from variables)
   ========================================================= */
@media (min-width: 2560px) {
    .aws-detail-page .aws-detail-cta-inner,
    .aws-detail-page .aws-detail-contact-inner { gap: 60px; }
    .aws-detail-page .aws-detail-cta-inner > div:first-child,
    .aws-detail-page .aws-detail-contact-inner > div:first-child { max-width: 1100px; }
}

@media (max-width: 1280px) {
    .aws-detail-page .aws-detail-reference-grid { gap: 26px 22px; }
}

@media (max-width: 1024px) {
    .aws-detail-page .aws-detail-services-grid.is-4col,
    .aws-detail-page .aws-detail-benefits-grid,
    .aws-detail-page .aws-detail-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aws-detail-page .aws-detail-reference-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .aws-detail-page .aws-detail-content-grid,
    .aws-detail-page .aws-detail-split-layout { gap: 30px; }
}

@media (max-width: 768px) {
    .aws-detail-page .aws-detail-content-grid,
    .aws-detail-page .aws-detail-split-layout,
    .aws-detail-page .aws-detail-regions-grid { grid-template-columns: 1fr; gap: 26px; }
    .aws-detail-page .aws-detail-services-grid,
    .aws-detail-page .aws-detail-services-grid.is-4col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .aws-detail-page .aws-detail-reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aws-detail-page .aws-detail-section-header { margin-bottom: 30px; }
    .aws-detail-page .aws-detail-cta-inner,
    .aws-detail-page .aws-detail-contact-inner { flex-direction: column; align-items: flex-start; }
    .aws-detail-page .aws-detail-actions { width: 100%; }
}

@media (max-width: 576px) {
    .aws-detail-page .aws-detail-services-grid,
    .aws-detail-page .aws-detail-services-grid.is-4col,
    .aws-detail-page .aws-detail-benefits-grid,
    .aws-detail-page .aws-detail-package-grid { grid-template-columns: 1fr; gap: 15px; }
    .aws-detail-page .aws-detail-service-card,
    .aws-detail-page .aws-detail-benefit-card,
    .aws-detail-page .aws-detail-content-panel,
    .aws-detail-page .aws-detail-process-panel,
    .aws-detail-page .aws-detail-info-box,
    .aws-detail-page .aws-detail-package { padding: 21px; }
    .aws-detail-page .aws-detail-regions-panel,
    .aws-detail-page .aws-detail-reference-panel { padding: 24px 20px; }
    .aws-detail-page .aws-detail-actions { flex-direction: column; }
    .aws-detail-page .aws-detail-btn { width: 100%; }
    .aws-detail-page .aws-detail-table th,
    .aws-detail-page .aws-detail-table td { padding: 10px 12px; }
}

@media (max-width: 480px) {
    .aws-detail-page .aws-detail-reference-grid { grid-template-columns: 1fr; }
    .aws-detail-page .aws-detail-process-step { gap: 13px; }
}

@media (max-width: 320px) {
    .aws-detail-page .aws-detail-regions-panel,
    .aws-detail-page .aws-detail-reference-panel { padding: 20px 14px; }
}

/* Touch + motion preferences */
@media (hover: none) and (pointer: coarse) {
    .aws-detail-page .aws-detail-service-card:hover,
    .aws-detail-page .aws-detail-benefit-card:hover,
    .aws-detail-page .aws-detail-package:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .aws-detail-page *,
    .aws-detail-page *::before,
    .aws-detail-page *::after { transition: none !important; scroll-behavior: auto !important; }
}