/* AquaSafe utility and detail pages — shared compact visual system. */

.as-legal-v3 main > .section-py-120,
.as-cart-v3 .cart__area,
.as-checkout-v3 .checkout__area,
.as-blog-detail-v3 .blog-details-area,
.as-course-detail-v3 .courses__details-area,
.as-contact-v3 .contact-area,
.as-auth-v3 .singUp-area,
.as-instructors-v3 .instructor__area,
.as-instructor-detail-v3 .instructor__details-area,
.as-error-v3 .error-area,
.as-order-v3 .checkout__area {
    padding: 32px 0 40px;
}

.as-legal-v3 main > .section-py-120,
.as-cart-v3 .cart__area,
.as-checkout-v3 .checkout__area {
    background: var(--as-inner-soft);
}

/* Admin-managed legal content */
.as-legal-v3 .breadcrumb__shape-wrap { display: none; }
.as-legal-v3 main > .section-py-120 > .container > div {
    max-width: 920px;
    margin: 0 auto;
    padding: 32px 36px;
    border: 1px solid var(--as-inner-line);
    border-radius: var(--as-radius);
    background: #fff;
    box-shadow: var(--as-shadow-lg);
}
.as-legal-v3 main > .section-py-120 :where(p, li) {
    color: var(--as-inner-muted);
    font-size: var(--as-text-base);
    line-height: 1.72;
}
.as-legal-v3 main > .section-py-120 p { margin: 0 0 16px; }
.as-legal-v3 main > .section-py-120 :where(ol, ul) { margin: 0 0 20px; padding-left: 24px; }
.as-legal-v3 main > .section-py-120 li + li { margin-top: 10px; }
.as-legal-v3 main > .section-py-120 li > p:last-child { margin-bottom: 0; }
/*
 * Editor-generated pages mark sections as <h2>; pages rendered from the admin
 * translation still mark them as a bare <p><strong>…</strong></p>. Both are
 * section headings, so both get heading treatment - but only at the top level
 * of the article. :only-child ignores text nodes, so without the child
 * combinator chain a list item reading "<strong>Label</strong>: sentence"
 * matches too and the whole clause renders at 24px heading weight.
 */
.as-legal-v3 main > .section-py-120 h2,
.as-legal-v3 main > .section-py-120 > .container > div > p:has(> strong:only-child) {
    margin: 28px 0 10px;
    color: var(--as-inner-navy);
    font-family: var(--as-font-heading);
    font-size: var(--as-heading-sm);
    font-weight: 700;
    line-height: 1.3;
}
/* Inside a list a leading <strong> is an inline label, not a heading. */
.as-legal-v3 main > .section-py-120 li strong {
    color: var(--as-inner-navy);
    font-weight: 600;
}
.as-legal-v3 main > .section-py-120 li::marker {
    color: var(--as-inner-navy);
    font-family: var(--as-font-heading);
    font-weight: 600;
}

/* Cart */
.as-cart-v3 .as-cart-v3__layout { --bs-gutter-x: 24px; align-items: flex-start; }
.as-cart-v3 .as-cart-v3__items,
.as-cart-v3 .as-cart-v3__summary,
.as-cart-v3 .as-cart-v3__empty {
    border: 1px solid var(--as-inner-line);
    border-radius: var(--as-radius);
    background: #fff;
    box-shadow: var(--as-shadow);
}
.as-cart-v3 .as-cart-v3__items { overflow: hidden; }
.as-cart-v3 .cart__table { margin: 0; border: 0; }
.as-cart-v3 .cart__table thead th {
    padding: 13px 16px;
    border: 0;
    border-bottom: 1px solid var(--as-inner-line);
    background: var(--as-soft);
    color: var(--as-inner-muted);
    font-family: var(--as-font-heading);
    font-size: var(--as-text-xs);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.as-cart-v3 .cart__table tbody td { padding: 16px; border-color: var(--as-inner-line); }
.as-cart-v3 .cart__table .product__thumb { width: 118px; }
.as-cart-v3 .cart__table .product__thumb img { width: 94px; height: 68px; border-radius: 8px; object-fit: cover; }
.as-cart-v3 .cart__table .product__name a { color: var(--as-inner-navy); font-family: var(--as-font-heading); font-size: var(--as-text-base); font-weight: 600; }
.as-cart-v3 .cart__table .product__price { color: var(--as-inner-navy); font-family: var(--as-font-heading); font-size: var(--as-text-lg); font-weight: 700; }
.as-cart-v3 .cart__table .product__remove a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; background: var(--as-err-bg); color: var(--as-inner-red); font-size: 22px; }
.as-cart-v3 .cart__actions { background: var(--as-soft); }
.as-cart-v3 .cart__actions-form { display: flex; max-width: 430px; gap: 10px; }
.as-cart-v3 .cart__actions-form input { min-width: 0; height: 44px; flex: 1; padding: 0 14px; border: 1px solid var(--as-inner-line); border-radius: 8px; font-size: var(--as-text-md); }
.as-cart-v3 .cart__actions-form .btn { padding: 0 18px; box-shadow: none; }
.as-cart-v3 .as-cart-v3__summary,
.as-checkout-v3 .as-checkout-v3__summary { position: sticky; top: 90px; padding: 24px; }
.as-cart-v3 .cart__collaterals-wrap .title,
.as-checkout-v3 .cart__collaterals-wrap .title { margin: 0 0 16px; font-size: var(--as-heading-sm); }
.as-cart-v3 .cart__collaterals-wrap .list-wrap li,
.as-checkout-v3 .cart__collaterals-wrap .list-wrap li { min-height: 48px; padding: 12px 0; border-bottom: 1px solid var(--as-inner-line); color: var(--as-inner-muted); font-size: var(--as-text-md); }
.as-cart-v3 .cart__collaterals-wrap .list-wrap li:last-child,
.as-checkout-v3 .cart__collaterals-wrap .list-wrap li:last-of-type { color: var(--as-inner-navy); font-family: var(--as-font-heading); font-size: var(--as-text-base); font-weight: 700; }
.as-cart-v3 .cart__collaterals-wrap > .btn { width: 100%; margin-top: 20px; padding: 0 18px; box-shadow: none; }
.as-cart-v3 .as-cart-v3__empty { max-width: 620px; margin: 0 auto; padding: 32px; text-align: center; }
.as-cart-v3 .as-cart-v3__empty img { width: min(210px, 55%); margin: 0 auto 16px; }
.as-cart-v3 .as-cart-v3__empty h2 { margin: 0 0 8px; font-size: var(--as-heading-md); }
.as-cart-v3 .as-cart-v3__empty p { margin: 0 0 20px; color: var(--as-inner-muted); font-size: var(--as-text-base); }
.as-cart-v3 .as-cart-v3__empty .btn { padding: 0 22px; box-shadow: none; }

/* Checkout */
.as-checkout-v3 .as-checkout-v3__layout { --bs-gutter-x: 24px; align-items: flex-start; }
.as-checkout-v3 .as-checkout-v3__payment-panel { padding: 26px; border: 1px solid var(--as-inner-line); border-radius: var(--as-radius); background: #fff; box-shadow: var(--as-shadow); }
.as-checkout-v3 .as-checkout-v3__remove-coupon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--as-err-bg);
    color: var(--as-inner-red);
    font-size: var(--as-text-md);
    line-height: 1;
    text-decoration: none;
}
.as-checkout-v3 .as-checkout-v3__remove-coupon:hover { background: var(--as-inner-red); color: #fff; }
.as-checkout-v3 .as-checkout-v3__panel-heading { margin-bottom: 20px; }
.as-checkout-v3 .as-checkout-v3__eyebrow { display: block; margin-bottom: 5px; color: var(--as-inner-blue); font-family: var(--as-font-heading); font-size: var(--as-text-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.as-checkout-v3 .as-checkout-v3__panel-heading h2 { margin: 0 0 5px; font-size: var(--as-heading-sm); }
.as-checkout-v3 .as-checkout-v3__panel-heading p { margin: 0; color: var(--as-inner-muted); font-size: var(--as-text-md); }
.as-checkout-v3 .wsus__payment_area > .row { --bs-gutter-x: 14px; --bs-gutter-y: 14px; }
.as-checkout-v3 .wsus__single_payment { display: flex; width: 100%; min-height: 92px; align-items: center; justify-content: center; padding: 14px; border: 1px solid var(--as-inner-line) !important; border-radius: 10px; background: #fff; cursor: pointer; }
.as-checkout-v3 .wsus__single_payment:hover { border-color: var(--as-inner-blue) !important; box-shadow: var(--as-shadow-sm); }
.as-checkout-v3 .wsus__single_payment img { width: auto !important; max-width: 112px; max-height: 50px; object-fit: contain; }
.as-checkout-v3 .as-checkout-v3__back { display: inline-flex; margin-top: 16px; align-items: center; gap: 8px; color: var(--as-inner-blue); font-family: var(--as-font-heading); font-size: var(--as-text-md); font-weight: 600; }

/* Blog article */
.as-blog-detail-v3 .as-blog-detail-v3__layout { --bs-gutter-x: 28px; align-items: flex-start; }
.as-blog-detail-v3 .as-blog-detail-v3__article { overflow: hidden; border: 1px solid var(--as-inner-line); border-radius: var(--as-radius); background: #fff; box-shadow: 0 12px 32px rgba(7, 26, 73, .05); }
.as-blog-detail-v3 .blog__details-thumb { margin: 0; }
.as-blog-detail-v3 .blog__details-thumb img { width: 100%; height: clamp(280px, 34vw, 460px); object-fit: cover; }
.as-blog-detail-v3 .blog__details-content { padding: 28px 30px; }
.as-blog-detail-v3 .blog__post-meta { margin-bottom: 14px; }
.as-blog-detail-v3 .blog__post-meta .list-wrap { gap: 10px 18px; }
.as-blog-detail-v3 .blog__post-meta li { color: var(--as-inner-muted); font-size: var(--as-text-sm); }
.as-blog-detail-v3 .blog__details-content > .title { margin: 0 0 18px; font-size: clamp(30px, 2.6vw, 40px); line-height: 1.2; }
.as-blog-detail-v3 .as-blog-detail-v3__rich-text { color: var(--as-inner-muted); font-size: var(--as-text-base); line-height: 1.75; }
.as-blog-detail-v3 .as-blog-detail-v3__rich-text :where(h2, h3, h4) { margin: 28px 0 10px; }
.as-blog-detail-v3 .as-blog-detail-v3__rich-text p { margin: 0 0 16px; }
.as-blog-detail-v3 .blog__details-bottom { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--as-inner-line); }
.as-blog-detail-v3 .blog__post-author,
.as-blog-detail-v3 .blog-post-comment { margin-top: 20px; padding: 24px; border: 1px solid var(--as-inner-line); border-radius: var(--as-radius); background: #fff; }
.as-blog-detail-v3 .as-blog-detail-v3__sidebar { position: sticky; top: 90px; }
/* Same 15px theme offset as /blog. */
.as-blog-detail-v3 .blog-sidebar { margin-left: 0; }
.as-blog-detail-v3 .blog-widget { margin: 0 0 16px; padding: 20px; border: 1px solid var(--as-inner-line); border-radius: 10px; background: var(--as-inner-soft); }
.as-blog-detail-v3 .blog-widget .widget-title { margin-bottom: 14px; font-size: var(--as-text-lg); }
.as-blog-detail-v3 .sidebar-search-form input { height: 46px; padding: 0 44px 0 13px; border: 1px solid var(--as-inner-line); border-radius: 8px; background: #fff; font-size: var(--as-text-md); }

/* Course detail */
.as-course-detail-v3 .as-course-detail-v3__layout { --bs-gutter-x: 28px; align-items: flex-start; }
.as-course-detail-v3 .as-course-detail-v3__main { min-width: 0; }
.as-course-detail-v3 .courses__details-thumb { overflow: hidden; margin: 0 0 22px; border-radius: var(--as-radius); background: var(--as-inner-soft); }
.as-course-detail-v3 .courses__details-thumb > img { width: 100%; height: clamp(300px, 37vw, 500px); object-fit: cover; }
.as-course-detail-v3 .courses__details-content > .title { margin: 12px 0 14px; font-size: clamp(30px, 2.7vw, 40px); line-height: 1.2; }
.as-course-detail-v3 .courses__details-meta { margin-bottom: 22px; }
.as-course-detail-v3 .courses__details-meta li { color: var(--as-inner-muted); font-size: var(--as-text-sm); }
.as-course-detail-v3 .courses__details-content > .nav-tabs { gap: 4px; margin: 0; padding: 5px; border: 1px solid var(--as-inner-line); border-radius: 10px; background: var(--as-inner-soft); }
.as-course-detail-v3 .courses__details-content > .nav-tabs .nav-link { min-height: 42px; padding: 9px 14px; border: 0; border-radius: 7px; color: var(--as-inner-muted); font-family: var(--as-font-heading); font-size: var(--as-text-md); font-weight: 600; }
.as-course-detail-v3 .courses__details-content > .nav-tabs .nav-link.active { background: #fff; color: var(--as-inner-navy); box-shadow: 0 4px 14px rgba(7, 26, 73, .08); }
.as-course-detail-v3 .courses__details-content > .tab-content { padding: 26px 4px 0; }
.as-course-detail-v3 .courses__overview-wrap :where(p, li) { color: var(--as-inner-muted); font-size: var(--as-text-base); line-height: 1.7; }
.as-course-detail-v3 .as-course-detail-v3__purchase { position: sticky; top: 90px; overflow: hidden; border: 1px solid var(--as-inner-line); border-radius: var(--as-radius); background: #fff; box-shadow: 0 14px 34px rgba(7, 26, 73, .08); }
.as-course-detail-v3 .courses__cost-wrap { padding: 22px 22px 16px; background: var(--as-inner-soft); }
.as-course-detail-v3 .courses__cost-wrap > span { color: var(--as-inner-muted); font-size: var(--as-text-sm); }
.as-course-detail-v3 .courses__cost-wrap .title { margin: 4px 0 0; color: var(--as-inner-navy); font-size: var(--as-heading-md); }
.as-course-detail-v3 .courses__cost-wrap .title del { color: var(--as-inner-muted); font-size: var(--as-text-base); }
.as-course-detail-v3 .courses__information-wrap { padding: 20px 22px; }
.as-course-detail-v3 .courses__information-wrap > .title { margin-bottom: 12px; font-size: var(--as-text-lg); }
.as-course-detail-v3 .courses__information-wrap > .list-wrap > li { min-height: 42px; padding: 10px 0; border-bottom: 1px solid var(--as-inner-line); color: var(--as-inner-muted); font-size: var(--as-text-md); }
.as-course-detail-v3 .courses__details-social { padding: 0 22px 18px; }
.as-course-detail-v3 .courses__details-social .title { font-size: var(--as-text-base); }
.as-course-detail-v3 .courses__details-enroll { padding: 0 22px 22px; }
.as-course-detail-v3 .courses__details-enroll .btn { width: 100%; justify-content: center; box-shadow: none; }

/* Contact form feedback
   The send confirmation used to be a toast wiped out by an immediate page
   reload. It now stays put, in the live region below the form. */
.ajax-response:empty { display: none; }
.ajax-response {
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 3px solid currentColor;
    font-size: var(--as-text-md);
    line-height: 1.55;
}
.ajax-response.is-success { background: var(--as-ok-bg); color: var(--as-ok-ink); }
.ajax-response.is-error { background: var(--as-err-bg); color: var(--as-err-ink); }

@media (max-width: 991px) {
    .as-cart-v3 .as-cart-v3__summary,
    .as-checkout-v3 .as-checkout-v3__summary,
    .as-blog-detail-v3 .as-blog-detail-v3__sidebar,
    .as-course-detail-v3 .as-course-detail-v3__purchase { position: static; margin-top: 20px; }
}

@media (max-width: 767px) {
    .as-legal-v3 main > .section-py-120,
    .as-cart-v3 .cart__area,
    .as-checkout-v3 .checkout__area,
    .as-blog-detail-v3 .blog-details-area,
    .as-course-detail-v3 .courses__details-area,
    .as-contact-v3 .contact-area,
    .as-auth-v3 .singUp-area,
    .as-instructors-v3 .instructor__area,
    .as-instructor-detail-v3 .instructor__details-area,
    .as-error-v3 .error-area,
    .as-order-v3 .checkout__area { padding: 24px 0 30px; }
    .as-legal-v3 main > .section-py-120 > .container > div { padding: 22px 18px; border-radius: 10px; }
    .as-legal-v3 main > .section-py-120 h2,
    .as-legal-v3 main > .section-py-120 > .container > div > p:has(> strong:only-child) { margin-top: 22px; font-size: var(--as-heading-xs); }
    .as-cart-v3 .as-cart-v3__items { overflow: hidden; }
    .as-cart-v3 .cart__table,
    .as-cart-v3 .cart__table tbody { display: block; width: 100%; min-width: 0; }
    .as-cart-v3 .cart__table thead { display: none; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr) 36px;
        position: relative;
        align-items: center;
        padding: 14px;
        border-bottom: 1px solid var(--as-inner-line);
    }
    .as-cart-v3 .cart__table .as-cart-v3__product-row td { display: block; padding: 0; border: 0; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__thumb { grid-row: 1 / span 2; width: 76px; min-width: 76px; height: 64px; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__thumb img { width: 76px; height: 64px; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__name { min-width: 0; padding-right: 34px; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__name a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.35; }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__price { grid-column: 2; margin-top: 5px; font-size: var(--as-text-base); }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__remove { position: absolute; top: 50%; right: 50px; width: 36px; transform: translateY(-50%); }
    .as-cart-v3 .cart__table .as-cart-v3__product-row .product__remove a { position: static; margin: 0; }
    .as-cart-v3 .cart__actions { display: block; width: 100%; padding: 14px !important; }
    .as-cart-v3 .cart__table tr:has(.cart__actions) { display: block; }
    .as-cart-v3 .cart__actions-form { max-width: none; }
    .as-cart-v3 .as-cart-v3__empty { padding: 26px 18px; }
    .as-checkout-v3 .as-checkout-v3__payment-panel { padding: 20px 16px; }
    .as-blog-detail-v3 .blog__details-thumb img { height: 240px; }
    .as-blog-detail-v3 .blog__details-content { padding: 22px 18px; }
    .as-blog-detail-v3 .blog__details-content > .title { font-size: var(--as-heading-sm); }
    .as-blog-detail-v3 .blog__post-author,
    .as-blog-detail-v3 .blog-post-comment { padding: 20px 16px; }
    .as-course-detail-v3 .courses__details-thumb > img { height: 260px; }
    .as-course-detail-v3 .courses__details-content > .title { font-size: var(--as-heading-sm); }
    .as-course-detail-v3 .courses__details-content > .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .as-course-detail-v3 .courses__details-content > .nav-tabs .nav-link { white-space: nowrap; }
}
