/* ---- Ampro custom sections (ported from the original theme markup) ---- */

/* dropdown submenu in main nav */
.tp-main-menu-content > li.has-dropdown{position:relative}
/* font-independent CSS caret (theme ships FA "Pro", so don't rely on a glyph) */
.tp-main-menu-content > li.has-dropdown > a::after{
   content:"";display:inline-block;width:0;height:0;margin-left:7px;vertical-align:middle;
   border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;
   transition:transform .25s}
.tp-main-menu-content > li.has-dropdown:hover > a::after{transform:rotate(180deg)}
.tp-main-menu-content .submenu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;box-shadow:0 18px 40px rgba(9,40,80,.16);border-radius:8px;padding:10px 0;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s;z-index:99}
.tp-main-menu-content li.has-dropdown:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.tp-main-menu-content .submenu li{display:block}
.tp-main-menu-content .submenu li a{display:block;padding:9px 22px;color:#16243e;font-size:14px;white-space:nowrap}
.tp-main-menu-content .submenu li a:hover{background:#f3f7fc;color:#094777}

/* whatsapp float */
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;background:#25d366;color:#fff!important;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;z-index:999;box-shadow:0 8px 24px rgba(37,211,102,.5)}
.whatsapp-float:hover{background:#1da851}

/* generic lead form */
.ampro-form p{margin:0 0 14px}
.ampro-form input,.ampro-form textarea{width:100%;padding:12px 15px;border:1px solid #d8e0ec;border-radius:8px;font-size:15px;font-family:inherit;background:#fff}
.ampro-form input:focus,.ampro-form textarea:focus{outline:none;border-color:#094777}
.ampro-form .tp-btn{border:0;cursor:pointer}

/* quote section */
.quote-section{padding:90px 0;background:#f6f8fb}
.quote-container{max-width:1140px;margin:0 auto;display:flex;gap:50px;align-items:center;flex-wrap:wrap;padding:0 15px}
.quote-image{flex:1 1 340px}
.quote-image img{width:100%;border-radius:14px}
.quote-form{flex:1 1 420px}
.quote-subtitle{color:#094777;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:14px}
.quote-form h2{font-size:34px;margin:6px 0 24px;color:#16243e}

/* ceo section */
.ceo-section{padding:90px 0}
.ceo-container{max-width:1140px;margin:0 auto;display:flex;gap:55px;align-items:center;flex-wrap:wrap;padding:0 15px}
.ceo-image{flex:1 1 320px}
.ceo-image img{width:100%;border-radius:14px}
.ceo-content{flex:1 1 460px}
.ceo-subtitle{color:#094777;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:14px}
.ceo-content h2{font-size:30px;margin:6px 0 18px;color:#16243e;line-height:1.3}

/* hassle / middle banner */
.hassle-section{margin:0}
.hassle-wrapper{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hassle-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hassle-overlay{position:absolute;inset:0;background:rgba(9,40,80,.6)}
.hassle-content{position:relative;color:#fff;text-align:center;max-width:760px;padding:30px}
.hassle-content h2{color:#fff;font-size:36px;margin-bottom:14px}

/* office network */
/* full-bleed blue section, content centred to 1140px */
.office-network{width:100%;max-width:none;margin:0;padding:80px 15px;text-align:center;
   background:linear-gradient(135deg,#0b3a66 0%,#1565b0 100%);color:#fff}
.office-network .tp-section-title{color:#fff}
.office-network .tp-process-title p{color:#dbe9f7}
.office-network .tp-process-title,
.office-network .office-list{max-width:1140px;margin-left:auto;margin-right:auto}
.office-list{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:30px}
.office-list .whitebox{background:#fff;border:1px solid #e4ebf3;border-radius:10px;padding:18px 26px;font-weight:600;color:#16243e;box-shadow:0 4px 14px rgba(9,40,80,.06);transition:.2s}
.office-list a:hover .whitebox{background:#094777;color:#fff;border-color:#094777}

/* careers */
.careers-section{max-width:1140px;margin:0 auto;padding:80px 15px;display:flex;gap:50px;align-items:center;flex-wrap:wrap}
.careers-text{flex:1 1 460px}
.careers-text h2{font-size:34px;color:#16243e}
.careers-image{flex:1 1 380px}
.careers-image img{width:100%;border-radius:14px}
.current-openings,.join-us{padding:50px 0}
.current-openings h2,.join-us h2{color:#16243e;margin-bottom:16px}
.current-openings ul{padding-left:18px;line-height:2}

/* partner */
.partner_sec{padding:80px 0}
.partner_sec .form-container{background:#fff;padding:34px;border-radius:14px;box-shadow:0 10px 40px rgba(9,40,80,.08)}
.partner_sec img{width:100%;border-radius:14px}

/* misc helpers */
.tp-service-cta .tp-btn{margin-top:10px}
.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px}
.alert-warning{background:#fff4e5;color:#9a6700}
@media(max-width:767px){.quote-form h2,.ceo-content h2,.careers-text h2,.hassle-content h2{font-size:26px}}

/* ===== Listing pages: service & property cards ===== */
.service-section{padding:80px 0}
.service-section .section-title h2{color:#16243e;font-size:32px}
.service-section .row{align-items:stretch}
.service-section .row > [class*="col-"]{display:flex}
.service-section .single-service-item{
   background:#fff;border:1px solid #edf1f7;border-radius:14px;overflow:hidden;width:100%;
   box-shadow:0 6px 22px rgba(9,40,80,.06);display:flex;flex-direction:column;
   margin-bottom:30px;transition:transform .25s,box-shadow .25s}
.service-section .single-service-item:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(9,40,80,.13)}
.service-section .service-img{order:1;margin:0;line-height:0}
.service-section .service-img img{width:100%;height:215px;object-fit:cover;display:block}
.service-section .single-service-inner{order:2;padding:24px 26px;display:flex;flex-direction:column;flex:1}
.service-section .single-service-inner h5{font-size:20px;margin:0 0 10px;line-height:1.35}
.service-section .single-service-inner h5 a{color:#16243e}
.service-section .single-service-inner h5 a:hover{color:#094777}
.service-section .single-service-inner p{color:#6b7689;margin:0 0 16px}
.service-section .details-link{display:inline-flex;align-items:center;justify-content:center;
   width:42px;height:42px;border-radius:50%;background:#094777;color:#fff!important;margin-top:auto;align-self:flex-start;transition:.25s}
.service-section .details-link:hover{background:#0a5896;transform:translateX(3px)}
/* text link variant (e.g. property "View Details") — NOT a round icon button */
.service-section .prop-more{display:inline-flex;align-items:center;gap:8px;color:#094777;font-weight:600;margin-top:auto;align-self:flex-start;text-decoration:none}
.service-section .prop-more:hover{color:#0a5896}
.service-section .prop-more i{transition:transform .2s}
.service-section .prop-more:hover i{transform:translateX(4px)}

/* property TYPE cards (top of Property Marketing) */
.prop-type-grid > [class*="col-"]{display:flex}
.prop-type-grid .tp-service-item-wrapper{
   background:#fff;border:1px solid #edf1f7;border-radius:14px;overflow:hidden;width:100%;padding:0;
   box-shadow:0 6px 22px rgba(9,40,80,.06);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.prop-type-grid .tp-service-item-wrapper:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(9,40,80,.13)}
.prop-type-grid .tp-service-item-wrapper > div:first-child{order:2;padding:22px 24px}
.prop-type-grid .tp-service-item-wrapper .tp-service-item-title{font-size:20px;margin:0 0 8px;color:#16243e}
.prop-type-grid .tp-service-item-thumb{order:1;line-height:0}
.prop-type-grid .tp-service-item-thumb img{width:100%;height:200px;object-fit:cover;display:block}

/* ===== Career: "Why Work With Us" intro sits on a dark bg → make it light ===== */
.tp-faq-area .tp-faq-wrapper,
.tp-faq-area .tp-faq-wrapper *{color:#fff !important}
.tp-faq-area{background-size:cover;background-position:center}
.tp-faq-area .tp-faq-bg{position:absolute;inset:0;background:rgba(9,40,80,.55)}

/* tidy big empty gaps on sparse rows */
.tp-service-area .tp-service-item-wrapper{height:100%}
.current-openings,.join-us{max-width:1140px;margin:0 auto}
