/* Krishna Outdoor - additions for dynamic (Laravel) pages. Uses theme variables from style.css */
.kr-error{color:#e51b23;background:#fff3f3;border:1px solid #f4c7ca;padding:10px 14px;margin:14px 0 6px;font-size:13px;line-height:1.6}
.dyn-hero{min-height:52vh}
.dyn-section{padding:84px 0 96px;background:#fff}
.dyn-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:600 12px Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a8f94;margin:0 0 18px}
.dyn-crumbs a{color:var(--red)}
.dyn-crumbs span{opacity:.5}
.dyn-intro{max-width:760px;margin:0 0 44px;font-size:17px;line-height:1.8;color:var(--muted)}
.dyn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.dyn-grid.two{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
.dyn-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.dyn-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,15,18,.12)}
.dyn-card-media{background:var(--soft);overflow:hidden}
.dyn-card-media img,.dyn-card-media video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.dyn-card-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.dyn-card-body h3{margin:0;font:700 22px Oswald,Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.dyn-card-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.dyn-btn{display:inline-flex;align-items:center;gap:8px;margin-top:auto;align-self:flex-start;padding:12px 22px;background:var(--red);color:#fff;font:700 12px Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background .2s}
.dyn-btn:hover{background:var(--red2)}
.dyn-gallery{columns:3 280px;column-gap:22px}
.dyn-gallery figure{margin:0 0 22px;break-inside:avoid;border:1px solid var(--line);background:#fff}
.dyn-gallery img,.dyn-gallery video{display:block;width:100%;height:auto}
.dyn-gallery figcaption{padding:12px 16px;font:600 13px Inter,Arial,sans-serif;text-align:center;color:var(--ink)}
.dyn-table-wrap{overflow-x:auto;border:1px solid var(--line)}
.dyn-table{width:100%;border-collapse:collapse;min-width:640px}
.dyn-table th{background:var(--soft);text-align:left;padding:16px 20px;font:700 12px Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.dyn-table td{padding:16px 20px;border-top:1px solid var(--line);font-size:14px;color:#34383c;vertical-align:middle}
.dyn-table td.name{font-weight:600;color:var(--ink)}
.dyn-table img{width:80px;height:56px;object-fit:cover;display:block}
.dyn-noimg{display:inline-grid;place-items:center;width:80px;height:56px;border:1px dashed #c9cccf;font-size:10px;color:#9a9ea2}
.dyn-badge{display:inline-block;padding:5px 12px;border-radius:999px;font:700 11px Inter,Arial,sans-serif;letter-spacing:.06em}
.dyn-badge.ok{background:#e3f6e8;color:#17703a}
.dyn-badge.no{background:#fde7e8;color:#b80f16}
.dyn-cta{text-align:center;padding-top:48px}
.dyn-cta p{color:var(--muted);margin:0 0 6px}
.ow-card-media video{width:100%;height:100%;object-fit:cover;display:block}
/* toast */
.kr-toast{position:fixed;z-index:9999;right:24px;top:96px;max-width:360px;padding:16px 20px;background:#fff;border-left:4px solid #17a34a;box-shadow:0 18px 50px rgba(0,0,0,.25);transform:translateX(120%);transition:transform .35s ease;font-family:Inter,Arial,sans-serif}
.kr-toast.show{transform:none}
.kr-toast.error{border-left-color:#e51b23}
.kr-toast b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.kr-toast span{font-size:13px;line-height:1.5;color:var(--muted)}
/* lightbox */
.kr-lb{position:fixed;inset:0;z-index:9998;background:rgba(6,8,10,.92);display:none;align-items:center;justify-content:center;padding:40px}
.kr-lb.open{display:flex}
.kr-lb img{max-width:100%;max-height:100%;object-fit:contain}
.kr-lb button{position:absolute;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;padding:14px;line-height:1}
.kr-lb .x{top:10px;right:14px}.kr-lb .p{left:10px;top:50%}.kr-lb .n{right:10px;top:50%}
@media(max-width:640px){.dyn-section{padding:56px 0 64px}.dyn-grid.two{grid-template-columns:1fr}.kr-toast{right:12px;left:12px;max-width:none}}
/* =========================================================
   KRISHNA OUTDOOR - OFFICE BOX FIX
   Ahmedabad + Mumbai
   ========================================================= */

.kr-offices{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    width:100% !important;
    align-items:stretch !important;
}

.kr-office{
    display:flex !important;
    flex-direction:row !important;
    width:100% !important;
    min-width:0 !important;
    min-height:368px !important;
    height:368px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid var(--line,#dedede) !important;
    box-sizing:border-box !important;
}

/* MAP */
.kr-office .kr-office-map{
    flex:0 0 42% !important;
    width:42% !important;
    max-width:42% !important;
    min-width:42% !important;
    height:100% !important;
    min-height:368px !important;
    overflow:hidden !important;
    position:relative !important;
    box-sizing:border-box !important;
}

.kr-office .kr-office-map iframe{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:368px !important;
    border:0 !important;
}

/* INFORMATION AREA */
.kr-office .kr-office-info{
    flex:1 1 58% !important;
    width:58% !important;
    min-width:0 !important;
    padding:38px 32px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    background:#fff !important;
}

.kr-office .kr-office-info .tag{
    margin:0 0 8px !important;
    font-size:11px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    letter-spacing:.18em !important;
    color:#111 !important;
}

.kr-office .kr-office-info h3{
    margin:0 0 14px !important;
    font-size:26px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
    color:#111 !important;
}

.kr-office .kr-office-info p{
    margin:0 0 12px !important;
    font-size:13px !important;
    line-height:1.55 !important;
    color:#747980 !important;
}

.kr-office .kr-office-info > a:not(.kr-office-btn){
    display:block !important;
    width:max-content !important;
    max-width:100% !important;
    margin:0 0 5px !important;
    font-size:13px !important;
    line-height:1.45 !important;
    color:#111 !important;
    text-decoration:none !important;
    font-weight:600 !important;
}

.kr-office .kr-office-info > a:not(.kr-office-btn):hover{
    color:#e51b23 !important;
}

.kr-office .kr-office-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    margin-top:10px !important;
    padding:8px 14px !important;
    border:1px solid #e51b23 !important;
    border-radius:4px !important;
    background:#fff !important;
    color:#e51b23 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:700 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.kr-office .kr-office-btn:hover{
    background:#e51b23 !important;
    color:#fff !important;
}


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

@media (max-width:900px){

    .kr-offices{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }

    .kr-office{
        height:360px !important;
        min-height:360px !important;
    }

    .kr-office .kr-office-map{
        min-height:360px !important;
    }

    .kr-office .kr-office-map iframe{
        min-height:360px !important;
    }
}


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

@media (max-width:640px){

    .kr-offices{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }

    .kr-office{
        display:flex !important;
        flex-direction:column !important;
        height:auto !important;
        min-height:0 !important;
    }

    .kr-office .kr-office-map{
        flex:0 0 auto !important;
        width:100% !important;
        max-width:100% !important;
        min-width:100% !important;
        height:230px !important;
        min-height:230px !important;
    }

    .kr-office .kr-office-map iframe{
        width:100% !important;
        height:230px !important;
        min-height:230px !important;
    }

    .kr-office .kr-office-info{
        width:100% !important;
        padding:26px 22px 28px !important;
    }

    .kr-office .kr-office-info h3{
        font-size:23px !important;
    }

    .kr-office .kr-office-info p{
        font-size:13px !important;
        line-height:1.6 !important;
    }
}

/* =========================================================
   COMPACT ENQUIRY POPUP
   ========================================================= */

.enquiry-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

.enquiry-popup.is-open {
    display: flex;
}

.enquiry-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .70);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.enquiry-popup-box {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    max-height: 88vh;
    overflow-y: auto;
    padding: 22px 22px 20px;
    box-sizing: border-box;

    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .28);

    animation: enquiryPopupIn .22s ease-out;
}

@keyframes enquiryPopupIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Close */
.enquiry-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;

    width: 30px;
    height: 30px;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: #f3f3f3;
    color: #222;

    font-size: 21px;
    line-height: 30px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}

.enquiry-popup-close:hover {
    background: #d32634;
    color: #fff;
}

/* Header */
.enquiry-popup-header {
    padding-right: 32px;
    margin-bottom: 16px;
}

.enquiry-popup-tag {
    display: block;
    margin-bottom: 4px;

    color: #d32634;
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.enquiry-popup-header h2 {
    margin: 0 0 5px;

    color: #111;
    font-family: 'Aileron', Inter, Arial, sans-serif;
    font-size: 23px;
    line-height: 1.15;
    font-weight: 800;
}

.enquiry-popup-header p {
    margin: 0;

    color: #666;
    font-size: 11px;
    line-height: 1.4;
}

/* Form */
.enquiry-popup-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.enquiry-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.enquiry-field label {
    color: #222;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
}

.enquiry-field label span {
    color: #d32634;
}

.enquiry-field input,
.enquiry-field select {
    width: 100%;
    height: 38px;

    padding: 0 11px;
    box-sizing: border-box;

    border: 1px solid #ddd;
    border-radius: 6px;

    background: #fff;
    color: #222;

    font-family: inherit;
    font-size: 12px;

    outline: none;
}

.enquiry-field input:focus,
.enquiry-field select:focus {
    border-color: #d32634;
    box-shadow: 0 0 0 2px rgba(211, 38, 52, .08);
}

/* Submit */
.enquiry-submit-btn {
    width: 100%;
    height: 42px;

    margin-top: 3px;
    padding: 0;

    border: 0;
    border-radius: 7px;

    background: #d32634;
    color: #fff;

    font-family: inherit;
    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
    transition: .2s ease;
}

.enquiry-submit-btn span {
    margin-left: 5px;
}

.enquiry-submit-btn:hover {
    background: #b8202c;
    transform: translateY(-1px);
}

body.enquiry-popup-open {
    overflow: hidden;
}


/* =========================================================
   FINAL ENQUIRE NOW BUTTON
   Keep original hover animation
   Remove only unwanted white fill/outline
   ========================================================= */

/* Desktop button - original style */
.header .nav-cta {
    position: relative !important;
    z-index: 1 !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;

    background: var(--red) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    padding: 13px 18px !important;
    border-radius: 6px !important;

    border: 0 !important;
    outline: none !important;

    box-shadow: 0 9px 20px rgba(229,27,35,.30) !important;

    flex: 0 0 auto !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
        background .25s ease,
        box-shadow .25s ease !important;
}

/* ORIGINAL HOVER ANIMATION */
.header .nav-cta:hover {
    background: var(--red2) !important;
    box-shadow: 0 9px 20px rgba(184,15,22,.32) !important;
}

/* Remove browser white outline */
.header .nav-cta:focus,
.header .nav-cta:focus-visible {
    outline: none !important;
}

/* Mobile wrapper - NO WHITE BOX */
@media (max-width: 760px) {

    .header .nav-cta-drawer-box {
        display: block !important;
        width: 100% !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        margin-top: 8px !important;
        padding-top: 8px !important;
    }

    /* Mobile button */
    .header .nav-cta-drawer,
    .header .nav-cta-drawer:visited,
    .header .nav-cta-drawer:hover,
    .header .nav-cta-drawer:focus,
    .header .nav-cta-drawer:focus-visible,
    .header .nav-cta-drawer:active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: calc(100% - 8px) !important;
        margin: 0 auto !important;

        min-height: 42px !important;
        padding: 11px 16px !important;

        background: var(--red) !important;
        color: #fff !important;

        border: 0 !important;
        border-radius: 999px !important;

        box-shadow: 0 7px 16px rgba(229,27,35,.24) !important;

        outline: none !important;

        cursor: pointer !important;

        transition:
            background .25s ease,
            box-shadow .25s ease,
            transform .25s ease !important;
    }

    /* Mobile hover - darker red, NOT white */
    .header .nav-cta-drawer:hover {
        background: var(--red2) !important;
        box-shadow: 0 7px 16px rgba(184,15,22,.32) !important;
    }

    /* Remove ONLY unwanted white pseudo animation */
    .header .nav-cta-drawer::before,
    .header .nav-cta-drawer::after {
        content: none !important;
        display: none !important;
    }
}

/* =========================================================
   MOBILE HEADER - ENQUIRE NOW OVERLAPPING LOGO FIX
   ========================================================= */

@media (max-width: 900px) {

    .header > .nav-wrap > .nav-cta {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: static !important;
    }

    .header .nav-cta-drawer-box {
        position: static !important;
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 12px 0 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .header .nav-cta-drawer {
        position: static !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 11px 18px !important;

        background: #d32634 !important;
        color: #fff !important;

        border: 0 !important;
        border-radius: 7px !important;

        box-shadow: 0 7px 16px rgba(211, 38, 52, .25) !important;

        transform: none !important;

        cursor: pointer !important;
    }

    /* Button hover - white box nahi */
    .header .nav-cta-drawer:hover,
    .header .nav-cta-drawer:focus,
    .header .nav-cta-drawer:active {
        background: #b8202c !important;
        color: #fff !important;
        border: 0 !important;
        outline: none !important;
        box-shadow: 0 7px 16px rgba(184, 32, 44, .30) !important;
        cursor: pointer !important;
    }
}

/* Very small phones */
@media (max-width: 600px) {

    .header .nav-wrap {
        position: relative !important;
    }

    .header .site-logo {
        position: relative !important;
        z-index: 1002 !important;
    }

    .header .nav-toggle {
        position: relative !important;
        z-index: 1003 !important;
    }

    .header .nav {
        z-index: 1001 !important;
    }
}

/* Final pointer fix for all Enquire Now buttons */
.header .nav-cta,
.header .nav-cta-drawer,
.header .enquiry-popup-trigger {
    cursor: pointer !important;
}