@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --navy:#071b30;
    --navy-2:#0b2947;
    --blue:#168cff;
    --blue-dark:#0e6de0;

    --ink:#0c1b34;
    --muted:#6f7f96;
    --line:#e5ebf2;
    --soft:#f6f8fc;
    --white:#fff;

    --green:#0f9d61;
    --red:#d54848;

    --radius:14px;
    --radius-lg:20px;

    --shadow:
        0 14px 40px rgba(18,42,74,.07);

    --container:1180px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:Inter,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

a {
    color:inherit;
    text-decoration:none;
}

button,
input,
select,
textarea {
    font:inherit;
}

img {
    max-width:100%;
}

.site-container {
    width:min(calc(100% - 64px),var(--container));
    margin-left:auto;
    margin-right:auto;
}


/* HEADER */

.site-header {
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid rgba(226,232,240,.9);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(18px);
}

.header-inner {
    min-height:76px;
    display:grid;
    grid-template-columns:230px 1fr auto;
    align-items:center;
    gap:24px;
}

.site-logo {
    display:flex;
    align-items:center;
}

.site-logo img {
    width:185px;
    display:block;
}

.desktop-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
}

.desktop-nav a {
    position:relative;
    min-height:76px;
    display:flex;
    align-items:center;
    color:#415067;
    font-size:13px;
    font-weight:600;
}

.desktop-nav a:hover,
.desktop-nav a.active {
    color:var(--blue);
}

.desktop-nav a.active:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:var(--blue);
}

.header-actions {
    display:flex;
    align-items:center;
    gap:17px;
}

.header-account {
    color:#26374d;
    font-size:13px;
    font-weight:600;
}

.ui-btn {
    min-height:43px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 18px;
    border:1px solid var(--line);
    border-radius:9px;
    cursor:pointer;
    background:#fff;
    color:var(--ink);
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}

.ui-btn:hover {
    transform:translateY(-1px);
}

.ui-btn-primary {
    color:#fff;
    border-color:var(--blue);
    background:linear-gradient(135deg,#1599ff,#2573f4);
    box-shadow:0 9px 23px rgba(23,126,255,.22);
}

.ui-btn-secondary {
    background:#fff;
}

.ui-btn-danger {
    color:#b42318;
    border-color:#fecaca;
    background:#fff7f7;
}

.ui-btn-full {
    width:100%;
}

.mobile-menu-button,
.mobile-nav {
    display:none;
}


/* MAIN */

.site-main {
    min-height:calc(100vh - 76px);
}

.page-shell {
    padding:58px 0 80px;
}

.page-shell.narrow {
    max-width:850px;
    margin:auto;
}

.page-header {
    margin-bottom:31px;
}

.page-eyebrow {
    display:block;
    margin-bottom:8px;
    color:var(--blue);
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

.page-header h1 {
    margin:0;
    color:var(--ink);
    font-size:clamp(32px,4vw,46px);
    line-height:1.08;
    letter-spacing:-.045em;
}

.page-header p {
    max-width:720px;
    margin:11px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
}


/* PANELS */

.ui-card,
.panel,
.booking-card,
.detail-card,
.form-panel {
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:#fff;
    box-shadow:var(--shadow);
}

.ui-card {
    padding:24px;
}


/* FORMS */

.filters {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    gap:12px;
    padding:18px;
    margin:25px 0 30px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:0 8px 25px rgba(18,42,74,.04);
}

input,
select,
textarea {
    width:100%;
    min-height:46px;
    padding:0 13px;
    border:1px solid #dbe3ed;
    border-radius:9px;
    outline:none;
    color:var(--ink);
    background:#fff;
    transition:.15s ease;
}

textarea {
    min-height:120px;
    padding-top:12px;
    resize:vertical;
}

input:focus,
select:focus,
textarea:focus {
    border-color:#72b7ff;
    box-shadow:0 0 0 3px rgba(22,140,255,.1);
}

label {
    color:#23344a;
    font-size:12px;
    font-weight:700;
}

.form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.form-grid label {
    display:grid;
    gap:7px;
}


/* SPACE CARDS */

.space-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.space-card {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 30px rgba(18,42,74,.06);
    transition:.18s ease;
}

.space-card:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 42px rgba(18,42,74,.1);
}

.preview {
    min-height:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-bottom:1px solid var(--line);
    background:
        radial-gradient(circle at 50% 15%,rgba(22,140,255,.13),transparent 35%),
        linear-gradient(135deg,#edf6ff,#f8fbff);
}

.preview span {
    color:var(--blue);
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}

.preview strong {
    font-size:25px;
}

.space-body {
    padding:20px;
}

.space-body h3 {
    margin:12px 0 7px;
    font-size:18px;
    line-height:1.3;
}

.space-body p {
    margin:7px 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.55;
}

.pill,
.status {
    display:inline-flex;
    align-items:center;
    padding:6px 9px;
    border-radius:999px;
    font-size:9px;
    font-weight:800;
}

.pill {
    color:#147244;
    background:#eaf8f1;
}

.status {
    color:#136fd2;
    background:#edf6ff;
}

.price {
    margin:18px 0;
}

.price b {
    font-size:22px;
}

.price span {
    color:var(--muted);
    font-size:11px;
}


/* DETAIL */

.detail-card {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    overflow:hidden;
}

.detail-preview {
    min-height:470px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:40px;
    text-align:center;
    color:#fff;
    background:
        radial-gradient(circle at 65% 25%,rgba(46,164,255,.25),transparent 30%),
        linear-gradient(135deg,#071b30,#0f4f8c);
}

.detail-preview span {
    font-size:10px;
    letter-spacing:.15em;
}

.detail-preview h2 {
    margin:12px 0;
    font-size:45px;
}

.detail-preview p {
    color:#b9cce0;
}

.detail-body {
    padding:40px;
}

.detail-body h1 {
    margin:10px 0;
    font-size:31px;
    line-height:1.18;
}

.detail-body > p {
    color:var(--muted);
    line-height:1.65;
}

.detail-body ul {
    padding-left:20px;
    color:#516176;
    line-height:1.9;
}


/* BOOKING */

.booking-card {
    padding:31px;
}

.booking-card h1 {
    margin-top:0;
}

.selected-slot {
    display:flex;
    align-items:center;
    gap:15px;
    margin:18px 0;
    padding:15px;
    border-radius:12px;
    background:var(--soft);
}

.mini-preview {
    width:92px;
    height:60px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:9px;
    color:var(--blue);
    background:#eaf4ff;
    font-weight:800;
}

.two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.availability-grid,
.device-grid {
    display:grid;
    gap:12px;
}

.availability-grid {
    grid-template-columns:repeat(4,1fr);
}

.device-grid {
    grid-template-columns:repeat(3,1fr);
}

.availability-chip {
    padding:13px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}

.availability-chip.open {
    color:#147244;
    border-color:#c6ead7;
    background:#f2fbf6;
}


/* ALERTS */

.alert-wrap {
    margin-top:16px;
}

.ui-alert,
.notice {
    padding:13px 15px;
    border-radius:9px;
    font-size:12px;
    font-weight:600;
}

.ui-alert.success {
    color:#116c43;
    background:#edf9f3;
}

.ui-alert.danger,
.error {
    color:#a43131;
    background:#fff0f0;
}


/* TABLE */

table {
    width:100%;
    border-collapse:collapse;
}

th,
td {
    padding:14px 16px;
    text-align:left;
    border-bottom:1px solid var(--line);
    font-size:12px;
}

th {
    color:#728096;
    background:#fbfcfe;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

td small {
    display:block;
    margin-top:4px;
    color:var(--muted);
}


/* FOOTER */

.site-footer {
    color:#8ea1b5;
    background:#041426;
}

.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:55px;
    padding:52px 0 42px;
}

.footer-brand img {
    width:185px;
    display:block;
    margin-bottom:15px;
}

.footer-brand p {
    max-width:300px;
    margin:0;
    color:#8396aa;
    font-size:11px;
    line-height:1.7;
}

.site-footer h4 {
    margin:4px 0 15px;
    color:#fff;
    font-size:12px;
}

.site-footer a {
    display:block;
    width:fit-content;
    margin-bottom:10px;
    font-size:11px;
}

.site-footer a:hover {
    color:#fff;
}

.footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:25px;
    padding:19px 0 23px;
    border-top:1px solid rgba(148,166,184,.14);
    color:#6f8297;
    font-size:9px;
}


/* TABLET */

@media(max-width:1000px) {

    .site-container {
        width:min(calc(100% - 40px),var(--container));
    }

    .header-inner {
        grid-template-columns:180px 1fr auto;
    }

    .site-logo img {
        width:165px;
    }

    .desktop-nav {
        gap:18px;
    }

    .space-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .filters {
        grid-template-columns:repeat(2,1fr);
    }

    .filters button {
        grid-column:1/-1;
    }

    .detail-card {
        grid-template-columns:1fr;
    }

    .detail-preview {
        min-height:320px;
    }

    .footer-grid {
        grid-template-columns:1.5fr 1fr 1fr;
    }
}


/* MOBILE */

@media(max-width:760px) {

    .site-container {
        width:calc(100% - 30px);
    }

    .header-inner {
        min-height:68px;
        display:flex;
        justify-content:space-between;
        gap:15px;
    }

    .site-logo img {
        width:150px;
    }

    .desktop-nav,
    .header-account,
    .header-actions > .ui-btn {
        display:none;
    }

    .mobile-menu-button {
        width:40px;
        height:40px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;
        padding:0;
        border:1px solid var(--line);
        border-radius:9px;
        background:#fff;
    }

    .mobile-menu-button span {
        width:18px;
        height:2px;
        display:block;
        background:var(--ink);
    }

    .mobile-nav {
        display:none;
        padding:8px 15px 16px;
        border-top:1px solid var(--line);
        background:#fff;
    }

    .mobile-nav-open .mobile-nav {
        display:block;
    }

    .mobile-nav a {
        display:block;
        padding:12px 4px;
        border-bottom:1px solid #f0f3f7;
        color:#26384e;
        font-size:13px;
        font-weight:600;
    }

    .site-main {
        min-height:auto;
    }

    .page-shell {
        padding:37px 0 55px;
    }

    .page-header {
        margin-bottom:22px;
    }

    .page-header h1 {
        font-size:32px;
    }

    .page-header p {
        font-size:13px;
    }

    .filters,
    .space-grid,
    .form-grid,
    .two,
    .availability-grid,
    .device-grid {
        grid-template-columns:1fr;
    }

    .filters {
        padding:14px;
    }

    .preview {
        min-height:145px;
    }

    .detail-preview {
        min-height:245px;
        padding:28px 20px;
    }

    .detail-preview h2 {
        font-size:34px;
    }

    .detail-body,
    .booking-card {
        padding:22px 18px;
    }

    .selected-slot {
        align-items:flex-start;
    }

    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:30px;
        padding:42px 0 34px;
    }

    .footer-brand {
        grid-column:1/-1;
    }

    .footer-bottom {
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
    }

    .panel,
    .ui-card {
        overflow-x:auto;
    }

    table {
        min-width:650px;
    }
}

@media(max-width:420px) {

    .footer-grid {
        grid-template-columns:1fr;
    }

    .footer-brand {
        grid-column:auto;
    }

    .site-logo img {
        width:138px;
    }
}

/* =========================================================
   ADSLOTIX MARKETPLACE — PROFESSIONAL REDESIGN
   ========================================================= */

.market-hero {
    padding:70px 0 64px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 10%,rgba(36,139,220,.20),transparent 30%),
        linear-gradient(115deg,#06182b,#0b3154);
}

.market-eyebrow {
    display:block;
    margin-bottom:13px;
    color:#45adff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.23em;
}

.market-hero h1 {
    max-width:720px;
    margin:0;
    color:#fff;
    font-size:clamp(39px,5vw,57px);
    line-height:1.04;
    letter-spacing:-.05em;
}

.market-hero p {
    max-width:650px;
    margin:18px 0 0;
    color:#afc0d3;
    font-size:14px;
    line-height:1.7;
}


.market-page {
    padding:0 0 80px;
}


.market-filter {
    position:relative;
    z-index:5;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    gap:13px;
    margin-top:-28px;
    padding:18px;
    border:1px solid #e5ebf2;
    border-radius:15px;
    background:#fff;
    box-shadow:0 18px 50px rgba(15,39,70,.12);
}

.market-filter > div {
    display:grid;
    gap:7px;
}

.market-filter label {
    color:#526176;
    font-size:10px;
    font-weight:700;
}

.market-filter select {
    min-height:47px;
    padding:0 13px;
    border:1px solid #dce4ee;
    border-radius:9px;
    color:#17283e;
    background:#fff;
    font-size:12px;
}

.market-search-btn {
    align-self:end;
    min-height:47px;
    padding:0 21px;
    border:0;
    border-radius:9px;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(135deg,#1597ff,#2473f5);
    box-shadow:0 8px 20px rgba(23,126,255,.2);
    font-size:12px;
    font-weight:700;
}


.market-results-head {
    margin:57px 0 24px;
}

.market-results-head span {
    color:#7890b1;
    font-size:9px;
    font-weight:800;
    letter-spacing:.23em;
}

.market-results-head h2 {
    margin:6px 0 0;
    font-size:32px;
    line-height:1.1;
    letter-spacing:-.04em;
}


.market-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:23px;
}


.market-card {
    overflow:hidden;
    border:1px solid #e6ecf3;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 30px rgba(19,44,77,.06);
    transition:transform .2s ease,box-shadow .2s ease;
}

.market-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 45px rgba(19,44,77,.11);
}


.market-card-visual {
    position:relative;
    height:225px;
    display:block;
    overflow:hidden;
}

.market-card-visual.country {
    background:
        radial-gradient(circle at 70% 15%,rgba(65,169,255,.3),transparent 30%),
        linear-gradient(140deg,#0a3155,#1768aa);
}

.market-card-visual.category {
    background:
        radial-gradient(circle at 70% 15%,rgba(49,177,255,.22),transparent 30%),
        linear-gradient(140deg,#102d4c,#315e83);
}


.market-placement {
    position:absolute;
    z-index:4;
    top:14px;
    left:14px;
    padding:6px 10px;
    border-radius:6px;
    color:#fff;
    background:#0fa363;
    font-size:9px;
    font-weight:800;
}

.market-placement.purple {
    background:#9418bd;
}


.market-device {
    position:absolute;
    inset:42px 27px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.market-browser {
    width:100%;
    max-width:310px;
    overflow:hidden;
    border:5px solid rgba(255,255,255,.22);
    border-radius:9px;
    background:#fff;
    box-shadow:0 18px 30px rgba(0,0,0,.22);
}

.market-browser-top {
    height:18px;
    display:flex;
    align-items:center;
    gap:4px;
    padding:0 8px;
    background:#eef2f6;
}

.market-browser-top i {
    width:5px;
    height:5px;
    display:block;
    border-radius:50%;
    background:#cbd5df;
}

.market-demo-banner {
    min-height:88px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,#ef3c41,#ac0e17);
}

.market-demo-banner span {
    font-size:7px;
    letter-spacing:.1em;
}

.market-demo-banner strong {
    margin-top:4px;
    font-size:15px;
}


.market-dimensions {
    position:absolute;
    right:14px;
    bottom:12px;
    color:rgba(255,255,255,.8);
    font-size:8px;
}


.market-card-body {
    padding:18px;
}


.market-site {
    display:flex;
    align-items:center;
    gap:10px;
}

.market-site-letter {
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:9px;
    color:#fff;
    background:linear-gradient(135deg,#113b73,#176bd9);
    font-size:12px;
    font-weight:800;
}

.market-site b {
    display:block;
    color:#17283e;
    font-size:11px;
}

.market-site span {
    display:block;
    margin-top:2px;
    color:#8794a7;
    font-size:8px;
}


.market-card h3 {
    margin:14px 0 6px;
    color:#0d1d36;
    font-size:17px;
    line-height:1.32;
}

.market-card h3 a:hover {
    color:#167ee8;
}


.market-category {
    min-height:19px;
    margin:0;
    color:#77869c;
    font-size:10px;
}


.market-meta {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:17px;
    padding:13px 0;
    border-top:1px solid #edf1f5;
    border-bottom:1px solid #edf1f5;
}

.market-meta span,
.market-meta b {
    display:block;
}

.market-meta span {
    margin-bottom:4px;
    color:#929eaf;
    font-size:8px;
}

.market-meta b {
    color:#314159;
    font-size:10px;
}


.market-card-footer {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:15px;
    padding-top:16px;
}

.market-price small {
    display:block;
    margin-bottom:2px;
    color:#929eaf;
    font-size:8px;
}

.market-price strong {
    color:#0d1d35;
    font-size:18px;
}

.market-price span {
    color:#8390a2;
    font-size:8px;
}

.market-view-btn {
    min-height:35px;
    display:inline-flex;
    align-items:center;
    padding:0 11px;
    border-radius:7px;
    color:#1679ed;
    background:#edf6ff;
    font-size:9px;
    font-weight:800;
}

.market-view-btn:hover {
    color:#fff;
    background:#167ff2;
}


.market-empty {
    grid-column:1/-1;
    padding:60px 25px;
    text-align:center;
    border:1px dashed #cfd9e5;
    border-radius:14px;
    background:#fafcff;
}

.market-empty h3 {
    margin:0 0 5px;
}

.market-empty p {
    margin:0;
    color:#78869a;
    font-size:12px;
}


.market-pagination {
    margin-top:32px;
}


/* MARKETPLACE TABLET */

@media(max-width:1000px) {

    .market-filter {
        grid-template-columns:repeat(2,1fr);
    }

    .market-search-btn {
        grid-column:1/-1;
    }

    .market-grid {
        grid-template-columns:repeat(2,1fr);
    }
}


/* MARKETPLACE MOBILE */

@media(max-width:650px) {

    .market-hero {
        padding:48px 0 55px;
    }

    .market-hero h1 {
        font-size:37px;
    }

    .market-hero p {
        font-size:12px;
    }

    .market-filter {
        grid-template-columns:1fr;
        margin-top:-20px;
        padding:14px;
    }

    .market-search-btn {
        grid-column:auto;
    }

    .market-results-head {
        margin-top:42px;
    }

    .market-results-head h2 {
        font-size:27px;
    }

    .market-grid {
        grid-template-columns:1fr;
    }

    .market-card-visual {
        height:210px;
    }

    .market-card-footer {
        align-items:flex-start;
        flex-direction:column;
    }

    .market-view-btn {
        width:100%;
        justify-content:center;
        min-height:40px;
    }
}

/* =========================================================
   ADSLOTIX PAGINATION
   ========================================================= */

.market-pagination {
    margin-top:38px;
}

.as-pagination {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-top:22px;
    border-top:1px solid #e8edf3;
}

.as-pagination-summary {
    color:#7b8899;
    font-size:11px;
}

.as-pagination-summary strong {
    color:#24354b;
    font-weight:700;
}

.as-pagination-pages {
    display:flex;
    align-items:center;
    gap:6px;
}

.as-page-btn {
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe6ef;
    border-radius:8px;
    color:#324258;
    background:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1;
    transition:.15s ease;
}

.as-page-btn:hover {
    color:#fff;
    border-color:#168cff;
    background:#168cff;
}

.as-page-btn.active {
    color:#fff;
    border-color:#168cff;
    background:#168cff;
    box-shadow:0 6px 16px rgba(22,140,255,.2);
}

.as-page-btn.disabled {
    color:#b4beca;
    background:#f7f9fb;
    cursor:not-allowed;
}

.as-page-btn.disabled:hover {
    color:#b4beca;
    border-color:#dfe6ef;
    background:#f7f9fb;
}

.as-page-dots {
    width:28px;
    text-align:center;
    color:#9ba7b6;
    font-size:12px;
}

.market-pagination svg {
    width:16px !important;
    height:16px !important;
}


@media(max-width:650px) {

    .as-pagination {
        align-items:flex-start;
        flex-direction:column;
    }

    .as-pagination-pages {
        width:100%;
        overflow-x:auto;
        padding-bottom:4px;
    }

    .as-page-btn {
        width:40px;
        height:40px;
        flex:0 0 40px;
    }
}

/* =========================================================
   ADSLOTIX FOOTER REFINED
   ========================================================= */

.site-footer {
    color:#8da0b4;
    background:
        radial-gradient(circle at 15% 0%,rgba(26,116,190,.08),transparent 26%),
        #041426;
}

.footer-main {
    display:grid;
    grid-template-columns:1.45fr 2fr;
    gap:90px;
    align-items:start;
    padding:46px 0 36px;
}

.footer-brand-block img {
    width:205px;
    display:block;
    margin-bottom:16px;
}

.footer-brand-block p {
    max-width:310px;
    margin:0;
    color:#8da0b4;
    font-size:11px;
    line-height:1.7;
}

.footer-tagline {
    display:block;
    margin-top:14px;
    color:#5e7892;
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.footer-links-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:55px;
}

.footer-links-grid h4 {
    margin:2px 0 15px;
    color:#fff;
    font-size:11px;
    font-weight:700;
}

.footer-links-grid a {
    display:block;
    width:fit-content;
    margin-bottom:10px;
    color:#8da0b4;
    font-size:10px;
    transition:.15s ease;
}

.footer-links-grid a:hover {
    color:#fff;
    transform:translateX(2px);
}

.footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:18px 0 21px;
    border-top:1px solid rgba(144,165,185,.12);
    color:#62778d;
    font-size:9px;
}

.footer-bottom > div {
    display:flex;
    align-items:center;
    gap:8px;
}

.footer-dot {
    opacity:.45;
}

@media(max-width:900px) {
    .footer-main {
        grid-template-columns:1fr;
        gap:34px;
    }

    .footer-links-grid {
        gap:30px;
    }
}

@media(max-width:600px) {
    .footer-main {
        padding:38px 0 30px;
    }

    .footer-brand-block img {
        width:180px;
    }

    .footer-links-grid {
        grid-template-columns:1fr 1fr;
        gap:28px 35px;
    }

    .footer-bottom {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
}

@media(max-width:420px) {
    .footer-links-grid {
        grid-template-columns:1fr;
    }
}

/* =========================================================
   ADSLOTIX FOOTER — FINAL VISUAL PASS
   ========================================================= */

.site-footer {
    margin-top:0;
    color:#a9b8c8;
    background:#041629;
}

.site-footer .footer-main {
    width:min(calc(100% - 64px),1180px);
    display:grid;
    grid-template-columns:minmax(300px,1.45fr) 2fr;
    align-items:start;
    gap:110px;
    margin:0 auto;
    padding:64px 0 54px;
}


/* BRAND */

.site-footer .footer-brand-block img {
    width:220px;
    height:auto;
    display:block;
    margin:0 0 23px;
}

.site-footer .footer-brand-block p {
    max-width:340px;
    margin:0;
    color:#a8b8c9;
    font-size:14px;
    font-weight:400;
    line-height:1.8;
}

.site-footer .footer-tagline {
    display:block;
    margin-top:21px;
    color:#6f8ba6;
    font-size:11px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.08em;
    text-transform:uppercase;
}


/* COLUMNS */

.site-footer .footer-links-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(130px,1fr));
    gap:65px;
}

.site-footer .footer-links-grid h4 {
    position:relative;
    margin:0 0 22px;
    padding-bottom:13px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
}

.site-footer .footer-links-grid h4::after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:28px;
    height:2px;
    border-radius:999px;
    background:#168cff;
}

.site-footer .footer-links-grid a {
    display:block;
    width:max-content;
    max-width:100%;
    margin:0 0 14px;
    color:#9eb0c2;
    font-size:13px;
    font-weight:500;
    line-height:1.45;
    transition:
        color .15s ease,
        transform .15s ease;
}

.site-footer .footer-links-grid a:hover {
    color:#fff;
    transform:translateX(3px);
}


/* BOTTOM */

.site-footer .footer-bottom {
    width:min(calc(100% - 64px),1180px);
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin:0 auto;
    padding:20px 0;
    border-top:1px solid rgba(148,170,192,.16);
    color:#7890a7;
    font-size:12px;
    line-height:1.5;
}

.site-footer .footer-bottom > div {
    display:flex;
    align-items:center;
    gap:10px;
}

.site-footer .footer-dot {
    color:#168cff;
    opacity:1;
}


/* TABLET */

@media(max-width:900px) {

    .site-footer .footer-main {
        width:min(calc(100% - 40px),1180px);
        grid-template-columns:1fr;
        gap:45px;
        padding:52px 0 44px;
    }

    .site-footer .footer-brand-block p {
        max-width:440px;
    }

    .site-footer .footer-links-grid {
        gap:40px;
    }

    .site-footer .footer-bottom {
        width:min(calc(100% - 40px),1180px);
    }
}


/* MOBILE */

@media(max-width:600px) {

    .site-footer .footer-main {
        width:calc(100% - 36px);
        gap:38px;
        padding:44px 0 36px;
    }

    .site-footer .footer-brand-block img {
        width:190px;
        margin-bottom:18px;
    }

    .site-footer .footer-brand-block p {
        max-width:100%;
        font-size:13px;
        line-height:1.75;
    }

    .site-footer .footer-tagline {
        margin-top:17px;
        font-size:10px;
    }

    .site-footer .footer-links-grid {
        grid-template-columns:1fr 1fr;
        gap:35px 25px;
    }

    .site-footer .footer-links-grid h4 {
        margin-bottom:18px;
        font-size:14px;
    }

    .site-footer .footer-links-grid a {
        margin-bottom:12px;
        font-size:13px;
    }

    .site-footer .footer-bottom {
        width:calc(100% - 36px);
        min-height:auto;
        align-items:flex-start;
        flex-direction:column;
        gap:9px;
        padding:22px 0 26px;
        font-size:11px;
    }
}


/* SMALL MOBILE */

@media(max-width:420px) {

    .site-footer .footer-links-grid {
        grid-template-columns:1fr;
        gap:29px;
    }
}


/* =========================================================
   PUBLIC HEADER — LOGO VISIBILITY + NAV SIZE
   ========================================================= */

.site-header,
.public-header,
header {
    background:#f3f7fb !important;
}

.site-logo {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:190px !important;
    min-width:190px !important;
    height:54px !important;

    padding:7px 12px !important;

    border:1px solid #dce8f3 !important;
    border-radius:12px !important;

    background:#eaf2fa !important;
}

.site-logo img {
    display:block !important;
    width:165px !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
}

header nav a {
    font-size:15px !important;
    font-weight:700 !important;
}

header .nav-actions,
header .header-actions,
header .site-actions {
    font-size:15px !important;
    font-weight:700 !important;
}


/* =========================================================
   SPACE DETAIL — BIGGER TEXT
   ========================================================= */

.as-detail-back {
    font-size:15px !important;
}

.as-detail-type {
    font-size:11px !important;
}

.as-detail-status {
    font-size:12px !important;
}

.as-detail-info h1 {
    font-size:36px !important;
}

.as-detail-location {
    font-size:15px !important;
}

.as-detail-features strong {
    font-size:14px !important;
}

.as-detail-features small {
    font-size:12px !important;
    line-height:1.45 !important;
}

.as-detail-price small {
    font-size:10px !important;
}

.as-detail-price p strong {
    font-size:30px !important;
}

.as-detail-price p span {
    font-size:13px !important;
}

.as-detail-price > a {
    font-size:13px !important;
    min-height:47px !important;
}


/* preview */

.as-preview-label {
    font-size:11px !important;
}

.as-preview-content > p {
    font-size:14px !important;
}

.as-preview-devices small {
    font-size:10px !important;
}

.as-preview-devices b {
    font-size:12px !important;
}


/* duration heading */

.as-duration-heading > div:first-child > span {
    font-size:10px !important;
}

.as-duration-heading h2 {
    font-size:30px !important;
}

.as-duration-heading p {
    font-size:14px !important;
}

.as-duration-note {
    font-size:12px !important;
}


/* duration cards */

.as-duration-top > div > strong {
    font-size:18px !important;
}

.as-duration-top > div > span {
    font-size:12px !important;
}

.as-duration-discount {
    font-size:10px !important;
}

.as-best-value {
    font-size:9px !important;
}

.as-duration-price strong {
    font-size:25px !important;
}

.as-duration-price span {
    font-size:11px !important;
}

.as-duration-total {
    font-size:11px !important;
}

.as-duration-card > p {
    font-size:12px !important;
    line-height:1.55 !important;
}

.as-duration-button {
    font-size:12px !important;
}


/* MOBILE */

@media(max-width:760px) {

    .site-logo {
        width:135px !important;
        min-width:135px !important;
        height:44px !important;
        padding:5px 8px !important;
    }

    .site-logo img {
        width:115px !important;
    }

    .as-detail-info h1 {
        font-size:29px !important;
    }

    .as-detail-location {
        font-size:13px !important;
    }

    .as-detail-features strong {
        font-size:14px !important;
    }

    .as-detail-features small {
        font-size:12px !important;
    }

    .as-duration-heading h2 {
        font-size:26px !important;
    }

    .as-duration-heading p {
        font-size:13px !important;
    }

    .as-duration-card > p {
        font-size:13px !important;
    }

    .as-duration-button {
        font-size:13px !important;
    }
}


/* =========================================================
   PUBLIC SHELL COMPATIBILITY — AUTH + MOBILE MENU
   ========================================================= */

/* Legacy auth/register views intentionally supported here so
   public pages do not need to load the dashboard stylesheet. */

.page {
    width: min(100%, 1440px);
    margin-inline: auto;
    padding: 58px max(18px, 5vw) 80px;
}

.page.narrow {
    max-width: 940px;
}

.page-title {
    margin-bottom: 28px;
}

.page-title > span {
    display: block;
    margin-bottom: 8px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.page-title h1 {
    margin: 0 0 10px;
    color: var(--ink);
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.page-title p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}

.btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font-weight: 750;
    cursor: pointer;
    text-decoration: none;
}

.btn.primary {
    border-color: var(--blue);
    background: linear-gradient(135deg,#1599ff,#2573f4);
    color: #fff;
    box-shadow: 0 9px 23px rgba(23,126,255,.20);
}

.btn.primary:hover {
    background: var(--blue-dark);
}

.btn.big {
    min-height: 50px;
    padding-inline: 22px;
}

.btn.full {
    width: 100%;
}

.auth-wrap {
    min-height: calc(100vh - 76px);
    display: grid;
    place-items: center;
    padding: 56px 20px;
    background:
        radial-gradient(circle at 50% 0%, rgba(22,140,255,.08), transparent 30%),
        var(--soft);
}

.auth-card,
.form-card {
    width: min(100%, 520px);
    margin: 0 auto;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow);
}

.form-card {
    width: 100%;
}

.auth-card h1 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.12;
    letter-spacing: -.03em;
}

.auth-card > p {
    margin: 0 0 24px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.auth-card label,
.form-card label {
    display: grid;
    gap: 7px;
    margin-bottom: 15px;
    color: #26374d;
    font-size: 13px;
    font-weight: 700;
}

.auth-card input,
.form-card input,
.form-card select,
.form-card textarea {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    outline: 0;
    background: #fff;
    color: var(--ink);
}

.auth-card input:focus,
.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
    border-color: #8bc8ff;
    box-shadow: 0 0 0 3px rgba(22,140,255,.11);
}

.auth-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    color: var(--blue-dark);
    font-size: 12px;
    font-weight: 650;
}

.check {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    grid-template-columns: none !important;
    gap: 9px !important;
}

.check input {
    width: 16px !important;
    min-height: 16px !important;
    margin: 0;
}

.form-card .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
}

.form-card .span-2 {
    grid-column: 1 / -1;
}

.form-card label small {
    color: var(--muted);
    font-weight: 500;
}

/* Reliable mobile navigation state driven by navigation.js */
@media (max-width: 760px) {
    .site-header.is-menu-open .mobile-nav {
        display: block !important;
    }

    .site-header.is-menu-open .mobile-menu-button span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .site-header.is-menu-open .mobile-menu-button span:nth-child(2) {
        opacity: 0;
    }

    .site-header.is-menu-open .mobile-menu-button span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .mobile-menu-button span {
        transition: transform .18s ease, opacity .18s ease;
    }

    .auth-wrap {
        min-height: calc(100vh - 68px);
        padding: 34px 15px 46px;
    }

    .auth-card,
    .form-card {
        padding: 24px 18px;
        border-radius: 16px;
    }

    .auth-card h1 {
        font-size: 28px;
    }

    .auth-links {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .form-card .form-grid {
        grid-template-columns: 1fr;
    }

    .form-card .span-2 {
        grid-column: auto;
    }

    .page {
        padding: 38px 16px 56px;
    }

    .page-title h1 {
        font-size: 32px;
    }

    .auth-card input,
    .form-card input,
    .form-card select,
    .form-card textarea {
        font-size: 16px;
    }
}
