/* =========================================================
   RAIH ACTION HUB
   Stage P1A
   Public Page Visual Refresh
   Mobile-first business mini-site presentation

   IMPORTANT:
   - Presentation layer only.
   - No backend, tracking, enquiry, modal or block logic changed.
   - Cover currently uses a RAIH gradient fallback.
   - Real cover upload + interactive Share button will be added
     in the next Blade/database stage after this visual passes QA.
========================================================= */


/* =========================================================
   DESIGN TOKENS
========================================================= */

:root {
    --raih-indigo: #5b5ce2;
    --raih-indigo-dark: #4338ca;
    --raih-indigo-soft: #eef2ff;

    --raih-teal: #14b8a6;
    --raih-teal-soft: #ecfdf8;

    --raih-ink: #0f172a;
    --raih-text: #475569;
    --raih-muted: #94a3b8;

    --raih-line: #e2e8f0;
    --raih-line-soft: #edf2f7;

    --raih-surface: #ffffff;
    --raih-page: #f5f7fb;

    --raih-radius-xl: 26px;
    --raih-radius-lg: 20px;
    --raih-radius-md: 15px;

    --raih-shadow:
        0 18px 48px
        rgba(15, 23, 42, .07);

    --raih-shadow-soft:
        0 8px 24px
        rgba(15, 23, 42, .045);
}


/* =========================================================
   PAGE FOUNDATION
========================================================= */

body {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(91, 92, 226, .08),
            transparent 30%
        ),
        radial-gradient(
            circle at 94% 90%,
            rgba(20, 184, 166, .07),
            transparent 30%
        ),
        var(--raih-page);
}


.public-raih-wrap {
    width: min(
        calc(100% - 40px),
        1120px
    );

    margin: 0 auto;

    padding:
        28px
        0
        30px;
}


/* =========================================================
   BUSINESS IDENTITY
   Cover-style mini website header
========================================================= */

.public-identity-card {
    position: relative;

    overflow: hidden;

    min-height: 0;

    padding:
        0
        30px
        30px;

    display: block;

    background:
        rgba(255, 255, 255, .98);

    border:
        1px solid
        var(--raih-line);

    border-radius:
        var(--raih-radius-xl);

    box-shadow:
        var(--raih-shadow);

    backdrop-filter:
        blur(16px);
}


/* =========================================================
   PUBLIC COVER MEDIA
   P1C.4

   A real image element is used instead of a pseudo-element.
   This fixes mobile rendering and preserves the full uploaded
   image without cropping it.
========================================================= */

.public-cover-media {
    position: relative;
    isolation: isolate;

    height: auto;

    aspect-ratio:
        8 / 3;

    margin:
        0
        -30px
        0;

    overflow: hidden;

    background:
        #eef2ff;
}


.public-cover-media.is-gradient {
    background:
        radial-gradient(
            circle at 82% 12%,
            rgba(20, 184, 166, .62),
            transparent 34%
        ),
        radial-gradient(
            circle at 14% 92%,
            rgba(255, 255, 255, .15),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #3428cc 0%,
            #574ae8 58%,
            #3f83d4 100%
        );
}


.public-cover-media.has-image {
    background:
        #e8ecf4;
}


.public-cover-backdrop {
    position: absolute;
    z-index: 0;

    inset: -26px;

    background-size:
        cover;

    background-position:
        center;

    background-repeat:
        no-repeat;

    filter:
        blur(22px);

    opacity:
        .42;

    transform:
        scale(1.08);
}


.public-cover-media.has-image::after {
    content: '';

    position: absolute;
    z-index: 0;

    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .04),
            rgba(15, 23, 42, .09)
        );
}


.public-cover-image {
    position: relative;
    z-index: 1;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;
    object-position: center;

    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}


.public-identity-main {
    min-width: 0;

    display: block;

    text-align: center;
}


.public-identity-card
.public-avatar {
    position: relative;
    z-index: 2;

    width: 96px;
    height: 96px;

    margin:
        -48px
        auto
        0;

    display: grid;
    place-items: center;

    overflow: hidden;

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--raih-indigo),
            var(--raih-teal)
        );

    border:
        5px solid
        #ffffff;

    border-radius:
        25px;

    box-shadow:
        0 12px 30px
        rgba(15, 23, 42, .16);

    font-size:
        31px;
}


.public-identity-card
.public-avatar img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.public-identity-copy {
    max-width: 720px;

    margin:
        14px
        auto
        0;

    text-align: center;
}


.public-identity-eyebrow {
    margin-bottom:
        7px;

    color:
        var(--raih-indigo);

    font-size:
        10px;

    font-weight:
        900;

    line-height:
        1.4;

    letter-spacing:
        .11em;

    text-transform:
        uppercase;
}


.public-identity-card h1 {
    margin: 0;

    color:
        var(--raih-ink);

    font-size:
        clamp(
            28px,
            3vw,
            37px
        );

    font-weight:
        900;

    line-height:
        1.08;

    letter-spacing:
        -.045em;
}


.public-identity-card
.public-page-bio {
    max-width:
        640px;

    margin:
        10px
        auto
        0
        !important;

    color:
        #5f6f87;

    font-size:
        14px;

    line-height:
        1.68;
}




/* =========================================================
   PUBLIC SHARE CONTROL
   Markup is added in the Blade stage.
========================================================= */

.public-share-button {
    position: absolute;
    z-index: 4;

    top: 18px;
    right: 18px;

    min-width: 42px;
    height: 42px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    color: #ffffff;
    background: rgba(15, 23, 42, .24);

    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;

    box-shadow:
        0 8px 22px
        rgba(15, 23, 42, .12);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    cursor: pointer;

    font: inherit;
    font-size: 10px;
    font-weight: 900;

    transition:
        background .15s ease,
        transform .15s ease,
        border-color .15s ease;
}

.public-share-button:hover {
    transform: translateY(-1px);

    background: rgba(15, 23, 42, .34);
    border-color: rgba(255, 255, 255, .52);
}

.public-share-button svg {
    width: 16px;
    height: 16px;

    flex: none;
}

.public-share-button-label {
    white-space: nowrap;
}

.public-share-feedback {
    position: absolute;
    z-index: 5;

    top: 67px;
    right: 18px;

    padding: 7px 10px;

    color: #334155;
    background: rgba(255, 255, 255, .97);

    border: 1px solid #e2e8f0;
    border-radius: 9px;

    box-shadow:
        0 8px 20px
        rgba(15, 23, 42, .10);

    font-size: 9px;
    font-weight: 800;
}


/* =========================================================
   MAIN ACTION LAYOUT
========================================================= */

.public-action-layout {
    margin-top:
        18px;

    display: grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        minmax(
            320px,
            365px
        );

    gap:
        20px;

    align-items:
        start;
}


.public-main-column,
.public-side-column {
    min-width: 0;
}


/* =========================================================
   MAIN CONTENT CARD
   Let individual content sections breathe like a mini-site
========================================================= */

.public-content-card {
    padding: 0;

    text-align:
        left;

    background:
        transparent;

    border: 0;

    border-radius: 0;

    box-shadow: none;
}


.public-block-stack {
    display: grid;

    gap:
        16px;
}


.public-block-stack
> .public-block,

.public-block-stack
> .public-offering-section,

.public-block-stack
> .public-gallery-section,

.public-block-stack
> .public-location-section,

.public-block-stack
> .public-faq-section {
    margin-top: 0;
}


/* =========================================================
   SHARED SECTION SURFACE
========================================================= */

.public-offering-section,
.public-gallery-section,
.public-location-section,
.public-faq-section {
    padding:
        22px;

    text-align:
        left;

    background:
        rgba(255, 255, 255, .98);

    border:
        1px solid
        var(--raih-line);

    border-radius:
        var(--raih-radius-lg);

    box-shadow:
        var(--raih-shadow-soft);
}


/* =========================================================
   STANDARD BLOCK
========================================================= */

.public-block {
    padding:
        21px;

    background:
        rgba(255, 255, 255, .98);

    border:
        1px solid
        var(--raih-line);

    border-radius:
        var(--raih-radius-lg);

    box-shadow:
        var(--raih-shadow-soft);
}


/* =========================================================
   INFORMATION BLOCK
========================================================= */

.public-block:not(:has(.public-action-button)) {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fbfcfe
        );

    border-color:
        #e6ebf1;

    box-shadow:
        var(--raih-shadow-soft);
}


.public-block-copy strong {
    display: block;

    color:
        var(--raih-ink);

    font-size:
        16px;

    font-weight:
        900;

    line-height:
        1.4;

    letter-spacing:
        -.018em;
}


.public-block-copy p {
    margin:
        7px
        0
        0;

    color:
        #64748b;

    font-size:
        13px;

    line-height:
        1.68;
}


/* =========================================================
   ACTION BLOCK
========================================================= */

.public-block:has(.public-action-button) {
    padding:
        21px;

    border-color:
        #dde3eb;

    box-shadow:
        var(--raih-shadow-soft);
}


.public-block:has(.public-action-button.whatsapp) {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f5fffd
        );

    border-color:
        #d3efeb;
}


.public-action-button {
    width: 100%;

    min-height:
        54px;

    margin-top:
        16px;

    padding:
        0
        18px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    border-radius:
        14px;

    font-size:
        13px;

    font-weight:
        900;

    box-shadow:
        0 9px 22px
        rgba(91, 92, 226, .15);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


.public-action-button:hover {
    transform:
        translateY(-1px);

    filter:
        brightness(1.015);

    box-shadow:
        0 12px 26px
        rgba(91, 92, 226, .18);
}


.public-action-button.whatsapp {
    box-shadow:
        0 9px 22px
        rgba(20, 184, 166, .18);
}


.public-action-button.whatsapp:hover {
    box-shadow:
        0 12px 28px
        rgba(20, 184, 166, .22);
}


/* =========================================================
   EMPTY PAGE
========================================================= */

.public-placeholder {
    margin-top: 0;

    padding:
        28px;

    background:
        #ffffff;

    border:
        1px dashed
        #d8e0ea;

    border-radius:
        var(--raih-radius-lg);

    color:
        #64748b;

    font-size:
        13px;

    line-height:
        1.65;

    text-align:
        center;
}


.public-placeholder strong {
    margin-bottom:
        7px;

    font-size:
        15px;
}


/* =========================================================
   SHARED SECTION HEADING
========================================================= */

.public-offering-heading,
.public-gallery-heading,
.public-location-heading,
.public-faq-heading {
    margin-bottom:
        16px;
}


.public-offering-heading h2,
.public-gallery-heading h2,
.public-location-heading h2,
.public-faq-heading h2 {
    margin: 0;

    color:
        var(--raih-ink);

    font-size:
        20px;

    font-weight:
        900;

    line-height:
        1.25;

    letter-spacing:
        -.032em;
}


.public-offering-heading p,
.public-gallery-heading p,
.public-location-heading p,
.public-faq-heading p {
    margin:
        5px
        0
        0;

    color:
        #64748b;

    font-size:
        12px;

    line-height:
        1.6;
}


/* =========================================================
   OFFERINGS
   More visual, catalogue-like presentation
========================================================= */

.public-offering-list {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        12px;
}


.public-offering-card {
    min-width: 0;

    overflow:
        hidden;

    background:
        #ffffff;

    border:
        1px solid
        #e2e8f0;

    border-radius:
        16px;

    box-shadow:
        0 6px 18px
        rgba(15, 23, 42, .035);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}


.public-offering-card:hover {
    transform:
        translateY(-2px);

    border-color:
        #d9dcff;

    box-shadow:
        0 12px 30px
        rgba(15, 23, 42, .07);
}


.public-offering-image {
    width:
        100%;

    aspect-ratio:
        4 / 3;

    overflow:
        hidden;

    background:
        linear-gradient(
            145deg,
            #f1f1ff,
            #eefbf9
        );
}


.public-offering-image img {
    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    object-position:
        center;

    transition:
        transform .22s ease;
}


.public-offering-card:hover
.public-offering-image img {
    transform:
        scale(1.02);
}


.public-offering-content {
    min-width: 0;

    padding:
        14px;
}


.public-offering-top {
    display: flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        8px;
}


.public-offering-name {
    min-width: 0;

    color:
        var(--raih-ink);

    font-size:
        14px;

    font-weight:
        900;

    line-height:
        1.4;
}


.public-offering-status {
    flex: none;

    padding:
        5px
        8px;

    border-radius:
        999px;

    font-size:
        8px;

    font-weight:
        900;
}


.public-offering-price {
    margin-top:
        8px;

    color:
        var(--raih-indigo-dark);

    font-size:
        17px;

    font-weight:
        900;

    letter-spacing:
        -.02em;
}


.public-offering-description {
    margin-top:
        7px;

    overflow:
        hidden;

    display:
        -webkit-box;

    -webkit-line-clamp:
        3;

    -webkit-box-orient:
        vertical;

    color:
        #64748b;

    font-size:
        11px;

    line-height:
        1.55;
}


/* =========================================================
   SINGLE OFFERING
   P1E.1A — Preserve Backend 16:9 Image Standard

   Offering images are already normalised by the backend to 16:9.
   The single-offering layout must keep that ratio and must not
   stretch the media area to match a long description.
========================================================= */

.public-offering-card:only-child {
    grid-column:
        1 / -1;

    display:
        grid;

    grid-template-columns:
        minmax(
            240px,
            .42fr
        )
        minmax(
            0,
            .58fr
        );

    align-items:
        center;
}


.public-offering-card:only-child
.public-offering-image {
    width:
        100%;

    height:
        auto;

    aspect-ratio:
        16 / 9;

    min-height:
        0;

    align-self:
        center;

    background:
        linear-gradient(
            145deg,
            #efefff,
            #e9fbf8
        );
}


.public-offering-card:only-child
.public-offering-image img {
    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    object-position:
        center;
}


.public-offering-card:only-child
.public-offering-content {
    padding:
        22px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;
}


.public-offering-card:only-child
.public-offering-name {
    font-size:
        18px;
}


.public-offering-card:only-child
.public-offering-status {
    padding:
        6px
        10px;

    font-size:
        9px;
}


.public-offering-card:only-child
.public-offering-price {
    margin-top:
        10px;

    font-size:
        22px;
}


.public-offering-card:only-child
.public-offering-description {
    margin-top:
        9px;

    overflow:
        hidden;

    display:
        -webkit-box;

    -webkit-line-clamp:
        4;

    -webkit-box-orient:
        vertical;

    color:
        #64748b;

    font-size:
        12px;

    line-height:
        1.62;
}


/* =========================================================
   GALLERY
========================================================= */

.public-gallery-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        9px;
}


.public-gallery-button {
    position:
        relative;

    width:
        100%;

    aspect-ratio:
        4 / 3;

    overflow:
        hidden;

    border-radius:
        14px;

    box-shadow:
        0 4px 14px
        rgba(15, 23, 42, .045);

    transition:
        transform .16s ease,
        box-shadow .16s ease;
}


.public-gallery-button:hover {
    transform:
        translateY(-1px);

    box-shadow:
        0 9px 22px
        rgba(15, 23, 42, .08);
}


.public-gallery-button img {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;
}


.public-gallery-caption {
    right:
        7px;

    bottom:
        7px;

    left:
        7px;

    padding:
        7px
        8px;

    font-size:
        9px;
}


/* =========================================================
   LOCATION
========================================================= */

.public-location-card {
    padding:
        18px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffaf7
        );

    border:
        1px solid
        #ebe4dc;

    border-radius:
        16px;
}


.public-location-icon {
    width:
        46px;

    height:
        46px;

    border-radius:
        13px;

    font-size:
        20px;
}


.public-location-copy strong {
    font-size:
        13px;
}


.public-location-address {
    margin-top:
        6px;

    font-size:
        12px;

    line-height:
        1.65;
}


.public-location-button {
    min-height:
        50px;

    margin-top:
        15px;

    padding:
        0
        17px;

    border-radius:
        13px;

    font-size:
        12px;

    font-weight:
        900;

    transition:
        transform .15s ease,
        filter .15s ease;
}


.public-location-button:hover {
    transform:
        translateY(-1px);

    filter:
        brightness(1.02);
}


/* =========================================================
   FAQ
========================================================= */

.public-faq-list {
    gap:
        9px;
}


.public-faq-item {
    border-radius:
        14px;

    transition:
        border-color .15s ease,
        background .15s ease;
}


.public-faq-item[open] {
    background:
        #fbfbff;

    border-color:
        #dcdcff;
}


.public-faq-item summary {
    padding:
        16px
        46px
        16px
        16px;

    font-size:
        12px;

    line-height:
        1.5;
}


.public-faq-item summary::after {
    right:
        15px;

    width:
        26px;

    height:
        26px;

    border-radius:
        8px;
}


.public-faq-answer {
    padding:
        0
        16px
        16px;

    color:
        #64748b;

    font-size:
        12px;

    line-height:
        1.68;
}


/* =========================================================
   CONVERSION COLUMN
========================================================= */

.public-side-column {
    position:
        sticky;

    top:
        20px;
}


.public-enquiry-section {
    margin-top: 0;

    scroll-margin-top:
        22px;
}


.public-enquiry-card {
    padding:
        23px;

    background:
        rgba(255, 255, 255, .99);

    border:
        1px solid
        #dcdefa;

    border-top:
        3px solid
        var(--raih-indigo);

    border-radius:
        var(--raih-radius-lg);

    box-shadow:
        var(--raih-shadow);
}


.public-enquiry-eyebrow {
    margin-bottom:
        6px;

    font-size:
        9px;
}


.public-enquiry-heading {
    margin-bottom:
        20px;
}


.public-enquiry-heading h2 {
    font-size:
        22px;

    letter-spacing:
        -.035em;
}


.public-enquiry-heading p {
    margin-top:
        7px;

    font-size:
        12px;

    line-height:
        1.6;
}


.public-enquiry-success,
.public-enquiry-errors {
    padding:
        13px
        14px;

    font-size:
        12px;
}


.public-enquiry-grid {
    grid-template-columns:
        1fr;

    gap: 0;
}


.public-enquiry-field.full {
    grid-column:
        auto;
}


.public-enquiry-field {
    margin-bottom:
        13px;
}


.public-enquiry-field label {
    margin-bottom:
        6px;

    font-size:
        11px;
}


.public-enquiry-input,
.public-enquiry-select,
.public-enquiry-textarea {
    font-size:
        12px;

    border-radius:
        11px;
}


.public-enquiry-input,
.public-enquiry-select {
    height:
        47px;

    padding:
        0
        13px;
}


.public-enquiry-textarea {
    min-height:
        105px;

    padding:
        12px
        13px;
}


.public-enquiry-submit {
    min-height:
        52px;

    padding:
        0
        18px;

    border-radius:
        13px;

    font-size:
        12px;

    font-weight:
        900;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


.public-enquiry-submit:hover {
    transform:
        translateY(-1px);

    filter:
        brightness(1.02);

    box-shadow:
        0 12px 26px
        rgba(91, 92, 226, .22);
}


.public-enquiry-privacy {
    margin-top:
        10px;

    font-size:
        9px;

    line-height:
        1.55;
}


/* =========================================================
   ENQUIRY CONVERSION POLISH
   P1D.2A
========================================================= */

.public-enquiry-heading-top {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;
}


.public-enquiry-quick-label {
    padding:
        5px
        8px;

    color:
        #4338ca;

    background:
        #eef2ff;

    border:
        1px solid
        #d9ddff;

    border-radius:
        999px;

    font-size:
        8px;

    font-weight:
        900;

    line-height:
        1;

    white-space:
        nowrap;
}


/* =========================================================
   POWERED BY RAIH
========================================================= */

.raih-powered {
    margin-top:
        24px;

    gap:
        8px;

    font-size:
        10px;
}


.raih-powered img {
    width:
        26px;

    height:
        26px;

    border-radius:
        8px;
}


/* =========================================================
   MOBILE ENQUIRY CTA
   P1D.1
========================================================= */

.public-mobile-enquiry-cta {
    display:
        none;
}


/* =========================================================
   TABLET
========================================================= */

@media (
    max-width:
    960px
) {

    .public-cover-media {
        height:
            auto;

        aspect-ratio:
            8 / 3;
    }


    .public-raih-wrap {
        width:
            min(
                calc(100% - 28px),
                790px
            );
    }


    .public-action-layout {
        grid-template-columns:
            1fr;
    }


    .public-side-column {
        position:
            static;
    }


    .public-enquiry-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        gap:
            12px;
    }


    .public-enquiry-field.full {
        grid-column:
            1 / -1;
    }


    .public-offering-card:only-child {
        grid-template-columns:
            minmax(
                220px,
                .42fr
            )
            minmax(
                0,
                .58fr
            );

        align-items:
            center;
    }

}


/* =========================================================
   MOBILE
   Designed to feel like a compact business mini-site
========================================================= */

@media (
    max-width:
    680px
) {

    /* =====================================================
       P1D.1 MOBILE CONVERSION CTA
    ====================================================== */

    .public-mobile-enquiry-cta {
        position:
            fixed;

        z-index:
            40;

        left:
            50%;

        bottom:
            calc(
                14px
                +
                env(
                    safe-area-inset-bottom,
                    0px
                )
            );

        width:
            calc(
                100%
                -
                28px
            );

        max-width:
            430px;

        display:
            block;

        opacity:
            0;

        pointer-events:
            none;

        transform:
            translate(
                -50%,
                16px
            );

        transition:
            opacity .18s ease,
            transform .18s ease;
    }


    .public-mobile-enquiry-cta.is-visible {
        opacity:
            1;

        pointer-events:
            auto;

        transform:
            translate(
                -50%,
                0
            );
    }


    .public-mobile-enquiry-cta-button {
        width:
            100%;

        min-height:
            52px;

        padding:
            0
            18px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            14px;

        color:
            #ffffff;

        background:
            linear-gradient(
                135deg,
                #5b5ce2,
                #4338ca
            );

        border:
            1px solid
            rgba(255, 255, 255, .22);

        border-radius:
            16px;

        box-shadow:
            0 14px 34px
            rgba(67, 56, 202, .28),
            0 3px 10px
            rgba(15, 23, 42, .12);

        cursor:
            pointer;

        font:
            inherit;

        font-size:
            12px;

        font-weight:
            900;

        letter-spacing:
            -.01em;

        -webkit-tap-highlight-color:
            transparent;
    }


    .public-mobile-enquiry-cta-button:active {
        transform:
            scale(.985);
    }



    /* =====================================================
       P1D.2A ENQUIRY CONVERSION POLISH
       Reuses the existing Selected Offering banner.
    ====================================================== */

    .public-enquiry-card {
        padding:
            16px;
    }


    .public-enquiry-heading {
        margin-bottom:
            14px;
    }


    .public-enquiry-heading h2 {
        margin-top:
            3px;

        font-size:
            20px;

        line-height:
            1.12;
    }


    .public-enquiry-heading p {
        margin-top:
            5px;

        font-size:
            10.5px;

        line-height:
            1.5;
    }


    .public-enquiry-quick-label {
        padding:
            4px
            7px;

        font-size:
            7px;
    }


    .public-enquiry-field {
        margin-bottom:
            10px;
    }


    .public-enquiry-field label {
        margin-bottom:
            5px;

        font-size:
            10px;
    }


    .public-enquiry-input,
    .public-enquiry-select {
        height:
            44px;

        padding:
            0
            12px;

        border-radius:
            10px;

        font-size:
            11px;
    }


    .public-enquiry-textarea {
        min-height:
            82px;

        padding:
            10px
            12px;

        border-radius:
            10px;

        font-size:
            11px;
    }


    .public-enquiry-submit {
        min-height:
            50px;

        border-radius:
            12px;
    }


    .public-enquiry-privacy {
        margin-top:
            8px;

        font-size:
            8.5px;
    }


    /* =====================================================
       P1B BUSINESS PROFILE POLISH
    ====================================================== */

    .public-identity-card {
        padding:
            0
            17px
            19px;
    }


    .public-cover-media {
        height:
            auto;

        aspect-ratio:
            8 / 3;

        margin:
            0
            -17px
            0;
    }


    .public-identity-main {
        text-align:
            left;
    }


    .public-identity-card
    .public-avatar {
        width:
            74px;

        height:
            74px;

        margin:
            -37px
            0
            0
            2px;

        border:
            4px solid
            #ffffff;

        border-radius:
            20px;

        font-size:
            24px;
    }


    .public-identity-copy {
        max-width:
            none;

        margin:
            11px
            0
            0;

        text-align:
            left;
    }


    .public-identity-eyebrow {
        margin-bottom:
            4px;

        font-size:
            8px;
    }


    .public-identity-card h1 {
        font-size:
            25px;

        line-height:
            1.08;
    }


    .public-identity-card
    .public-page-bio {
        max-width:
            none;

        margin:
            7px
            0
            0
            !important;

        font-size:
            11.5px;

        line-height:
            1.58;

        text-align:
            left;
    }


    .public-share-button {
        top:
            13px;

        right:
            13px;

        min-width:
            39px;

        height:
            39px;

        padding:
            0
            10px;

        background:
            rgba(15, 23, 42, .22);
    }


    .public-share-button-label {
        display:
            none;
    }


    .public-share-feedback {
        top:
            58px;

        right:
            13px;
    }


    /* =====================================================
       P1B MOBILE OFFERING CATALOGUE
    ====================================================== */

    .public-offering-card {
        position:
            relative;
    }


    .public-offering-content {
        padding:
            11px
            11px
            10px;
    }




    .public-offering-status {
        position:
            absolute;

        top:
            9px;

        right:
            9px;

        z-index:
            2;

        margin:
            0;

        padding:
            5px
            7px;

        background:
            rgba(255, 255, 255, .94);

        border:
            1px solid
            rgba(255, 255, 255, .75);

        box-shadow:
            0 4px 12px
            rgba(15, 23, 42, .08);

        backdrop-filter:
            blur(8px);

        -webkit-backdrop-filter:
            blur(8px);
    }


    .public-offering-name {
        padding-right:
            0;

        font-size:
            12px;

        line-height:
            1.38;
    }


    .public-offering-price {
        margin-top:
            6px;

        font-size:
            15px;
    }


    .public-offering-description {
        display:
            none;
    }


    .public-offering-detail-hint {
        margin-top:
            9px;

        padding-top:
            9px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            8px;

        color:
            #4f46e5;

        border-top:
            1px solid
            #edf2f7;

        font-size:
            9px;

        font-weight:
            900;
    }


    /* Single offering should remain rich enough to explain itself. */

    .public-offering-card:only-child
    .public-offering-status {
        position:
            static;

        margin-top:
            0;

        box-shadow:
            none;

        backdrop-filter:
            none;

        -webkit-backdrop-filter:
            none;
    }


    .public-offering-card:only-child
    .public-offering-description {
        display:
            -webkit-box;
    }

    body {
        background:
            linear-gradient(
                180deg,
                #f4f6fb 0%,
                #f7f9fc 100%
            );
    }


    .public-raih-wrap {
        width:
            calc(
                100% - 16px
            );

        padding:
            8px
            0
            22px;
    }


    .public-identity-card {
        min-height:
            0;

        border-radius:
            22px;
    }


    .public-identity-card::before {
        margin:
            0
            -17px
            0;
    }












    .public-action-layout {
        margin-top:
            12px;

        gap:
            12px;
    }


    .public-block-stack {
        gap:
            12px;
    }


    .public-offering-section,
    .public-gallery-section,
    .public-location-section,
    .public-faq-section,
    .public-block {
        padding:
            16px;

        border-radius:
            18px;
    }


    .public-block:has(.public-action-button) {
        padding:
            16px;
    }


    .public-block-copy strong {
        font-size:
            14px;
    }


    .public-block-copy p {
        font-size:
            11px;
    }


    .public-action-button {
        min-height:
            50px;

        margin-top:
            13px;

        font-size:
            12px;

        border-radius:
            13px;
    }


    .public-offering-heading,
    .public-gallery-heading,
    .public-location-heading,
    .public-faq-heading {
        margin-bottom:
            13px;
    }


    .public-offering-heading h2,
    .public-gallery-heading h2,
    .public-location-heading h2,
    .public-faq-heading h2 {
        font-size:
            18px;
    }


    .public-offering-heading p,
    .public-gallery-heading p,
    .public-location-heading p,
    .public-faq-heading p {
        font-size:
            11px;
    }


    .public-offering-list {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        gap:
            9px;
    }


    .public-offering-card {
        border-radius:
            14px;
    }


    .public-offering-image {
        aspect-ratio:
            1 / 1;
    }


    .public-offering-content {
        padding:
            11px;
    }


    .public-offering-top {
        display:
            block;
    }


    .public-offering-name {
        font-size:
            12px;

        line-height:
            1.35;
    }








    .public-offering-card:only-child {
        display:
            flex;

        flex-direction:
            column;
    }


    .public-offering-card:only-child
    .public-offering-image {
        order:
            1;

        width:
            100%;

        min-height:
            0;

        aspect-ratio:
            16 / 9;
    }


    .public-offering-card:only-child
    .public-offering-content {
        order:
            2;

        padding:
            16px;
    }


    .public-offering-card:only-child
    .public-offering-top {
        display:
            flex;
    }


    .public-offering-card:only-child
    .public-offering-name {
        font-size:
            16px;
    }


    .public-offering-card:only-child
    .public-offering-status {
        margin-top:
            0;
    }


    .public-offering-card:only-child
    .public-offering-price {
        margin-top:
            9px;

        font-size:
            20px;
    }


    .public-offering-card:only-child
    .public-offering-description {
        margin-top:
            8px;

        display:
            -webkit-box;

        overflow:
            hidden;

        -webkit-line-clamp:
            3;

        -webkit-box-orient:
            vertical;

        font-size:
            11px;

        line-height:
            1.55;
    }


    .public-gallery-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        gap:
            7px;
    }


    .public-gallery-button {
        aspect-ratio:
            1 / 1;

        border-radius:
            12px;
    }


    .public-enquiry-card {
        padding:
            18px;

        border-radius:
            18px;
    }


    .public-enquiry-grid {
        grid-template-columns:
            1fr;

        gap: 0;
    }


    .public-enquiry-field.full {
        grid-column:
            auto;
    }


    .public-enquiry-heading h2 {
        font-size:
            20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (
    max-width:
    430px
) {

    .public-raih-wrap {
        width:
            calc(
                100% - 12px
            );
    }


    .public-identity-card {
        padding:
            0
            14px
            18px;
    }


    .public-cover-media {
        margin:
            0
            -14px
            0;
    }


    .public-identity-card
    .public-avatar {
        width:
            70px;

        height:
            70px;

        margin:
            -35px
            0
            0
            2px;

        border-radius:
            19px;
    }


    .public-identity-card h1 {
        font-size:
            23px;
    }


    .public-identity-card
    .public-page-bio {
        font-size:
            11px;

        line-height:
            1.55;
    }


    .public-offering-section,
    .public-gallery-section,
    .public-location-section,
    .public-faq-section,
    .public-block {
        padding:
            14px;
    }


    .public-offering-list {
        gap:
            8px;
    }


    .public-offering-content {
        padding:
            10px;
    }


    .public-offering-name {
        font-size:
            11px;
    }


    .public-offering-price {
        font-size:
            14px;
    }


    .public-offering-card:only-child
    .public-offering-description {
        font-size:
            10.5px;
    }


    .public-gallery-grid {
        gap:
            6px;
    }

}
