/* tatilvillasi.net v1.0.6 — global responsive hardening */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{width:100%;max-width:100%;overflow-x:hidden}main,.admin-main,.admin-content,.section,.listing,.checkout,.villa-detail,.vd-shell,.vd-container{min-width:0;max-width:100%}img,picture,video,canvas,svg,iframe{max-width:100%;height:auto}input,select,textarea,button{max-width:100%}pre,code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}p,h1,h2,h3,h4,h5,h6,td,th,label,span,strong,small,a{overflow-wrap:break-word}.cards>*,.listing-cards>*,.detail-grid>*,.checkout-grid>*,.payment-layout>*,.admin-grid>*,.grid>*,.form-grid>*,.module-grid>*,.stats>*,.vd-layout>*,.vd-price-row>*,.vd-section-heading>*{min-width:0}
/* Tables are allowed to scroll inside their own frame, never the page. */
.table-wrap{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-wrap table{width:100%;min-width:680px}.panel>table,.admin-card>table,.installment-box>table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.panel>table tbody,.admin-card>table tbody,.installment-box>table tbody{width:100%}table th,table td{vertical-align:top}
/* Villa detail: contain every wide widget. */
.vd-tabs{max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;white-space:nowrap}.vd-tabs::-webkit-scrollbar{display:none}.vd-tabs a{display:inline-flex;flex:0 0 auto;white-space:nowrap}.vd-price-list,.vd-review-summary,.vd-included,.vd-distance-grid,.dual-calendar,.month-card{max-width:100%;min-width:0}.vd-price-row>div:first-child span{white-space:normal;word-break:normal}.vd-price-row b{white-space:nowrap}.vd-rules span{min-width:0}.vd-description{overflow-wrap:anywhere}
@media(max-width:900px){
 .top{gap:16px}.brand{flex:0 1 auto;min-width:0}.header-actions{margin-left:auto;flex:0 0 auto}.header-actions .account{white-space:nowrap}
 .section,.page-title,.listing,.checkout,.villa-detail{padding-left:16px;padding-right:16px}.listing{width:100%}
 .admin-main{width:100%;max-width:100%}.admin-top{padding-left:14px;padding-right:14px}.admin-content{width:100%;max-width:100%;overflow:hidden}
 .admin-title,.page-head,.section-head,.section-head-inline{gap:12px;flex-wrap:wrap;align-items:flex-start}.admin-title>*:first-child,.page-head>*:first-child,.section-head>*:first-child{min-width:0;flex:1 1 240px}.admin-title .btn,.page-head .btn{flex:0 0 auto}
}
@media(max-width:680px){
 html,body{font-size:16px}
 .top{height:66px;padding:0 14px;gap:10px}.brand{font-size:20px;letter-spacing:-.7px}.header-actions{gap:8px}.header-actions button{font-size:22px;padding:6px}.account{padding:10px 13px;font-size:14px;border-radius:8px}
 .hero h1{font-size:clamp(30px,9vw,40px);line-height:1.05}.hero p{font-size:17px;line-height:1.5}.hero-overlay{padding-left:16px;padding-right:16px}
 .section{padding:36px 14px}.section.muted{padding-left:14px;padding-right:14px}.page-title{margin-top:28px;padding:0 14px}.listing,.checkout,.villa-detail{padding-left:14px;padding-right:14px}
 .section-head{align-items:flex-start}.section-head h2,.page-title h1{font-size:26px;line-height:1.15}
 .cards,.listing-cards{grid-template-columns:minmax(0,1fr)!important}.villa-card{width:100%;min-width:0}.villa-card .image{height:auto;aspect-ratio:4/3}.card-body{padding:14px}.price{align-items:flex-start;flex-wrap:wrap}.price .btn{width:100%;margin-top:4px}
 .filters{width:100%;padding:16px}.filters input,.filters select{font-size:16px}
 .checkout-grid,.payment-layout,.grid,.form-grid,.admin-grid,.module-grid,.stats{grid-template-columns:minmax(0,1fr)!important}.panel,.admin-card,.module-card{padding:16px;max-width:100%;overflow:hidden}
 footer{padding:38px 16px;grid-template-columns:1fr!important}
 /* Admin mobile */
 .admin-top{height:auto;min-height:60px;padding:9px 12px;gap:9px}.global-search{min-width:0;max-width:none}.global-search input{font-size:16px}.admin-content{padding:14px}.admin-title h1,.page-head h1{font-size:25px;line-height:1.15}.admin-title{margin-bottom:16px}.actions{flex-wrap:wrap}.actions>.btn{flex:1 1 140px}.stats strong{font-size:26px}.form-grid{gap:10px}.checkline{padding-top:4px}.feature-checks{grid-template-columns:1fr!important}.sticky-save{left:0;right:0;bottom:8px}
 .table-wrap{margin-left:0;margin-right:0;border-radius:10px}.table-wrap table{min-width:620px;font-size:13px}.table-wrap th,.table-wrap td{padding:10px}.table-wrap .btn{white-space:nowrap}
 /* Public generic tables */
 .panel>table,.admin-card>table,.installment-box>table{min-width:620px;font-size:13px}
 /* Villa detail */
 .vd-container{width:calc(100% - 28px)!important;max-width:none!important;margin-left:14px!important;margin-right:14px!important}
 .vd-heading{position:relative;max-width:100%}.vd-head-actions{max-width:45%}.vd-gallery{width:100%;max-width:100%;overflow:hidden}.vd-gallery img{max-width:none;width:100%;height:100%}
 .vd-tabs{width:calc(100% + 28px)!important;max-width:calc(100% + 28px)!important;margin-left:-14px!important;margin-right:-14px!important;padding-left:14px!important;padding-right:14px!important;display:flex!important;gap:0!important}.vd-tabs a{padding:13px 11px!important;font-size:12px!important}
 .vd-layout{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important}.vd-section{width:100%;max-width:100%;overflow:hidden}.vd-section-heading{width:100%;max-width:100%}.vd-section-heading p{line-height:1.5}
 .vd-highlight-row{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.vd-highlight-row>*{flex:0 0 auto}
 .vd-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vd-facts>div{min-width:0}.vd-facts span,.vd-facts strong{overflow-wrap:anywhere}
 .vd-feature-group>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vd-feature-group>div>*{min-width:0}
 .dual-calendar{grid-template-columns:minmax(0,1fr)!important}.month-card{width:100%;overflow:hidden;padding:12px}.weekday,.month-grid{gap:2px}.month-grid .day{min-width:0;min-height:52px;padding:5px 1px}.month-grid .day b{font-size:11px}.month-grid .day small{font-size:7px;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 .vd-currencies{width:max-content;max-width:100%;overflow-x:auto}.vd-currencies button{flex:0 0 auto}
 .vd-price-list{width:100%;overflow:hidden}.vd-price-row{display:block!important;padding:16px!important}.vd-price-row>div:first-child{width:100%;margin-bottom:12px}.vd-price-row>div:first-child span{font-size:12px;line-height:1.45}.vd-price-row>div:last-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;width:100%}.vd-price-row>div:last-child span{text-align:left!important;background:#f7f8fa;border-radius:8px;padding:10px;min-width:0}.vd-price-row b{font-size:16px!important;white-space:normal}.vd-deposit{gap:12px;align-items:center}.vd-deposit span{min-width:0}.vd-deposit strong{white-space:nowrap}
 .vd-included{grid-template-columns:minmax(0,1fr)!important}.vd-distance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vd-distance-grid>div{min-width:0;padding:14px 10px}.vd-times{grid-template-columns:minmax(0,1fr)!important}.vd-times>div{min-width:0}.vd-rules{grid-template-columns:minmax(0,1fr)!important}.vd-rules>div{min-width:0;align-items:flex-start}.vd-rules span{line-height:1.45}
 .vd-review-summary{grid-template-columns:minmax(0,1fr)!important}.vd-review-form{padding:16px}.vd-review-form>div{grid-template-columns:minmax(0,1fr)!important}
 .vd-booking{width:100%;max-width:100%;overflow:hidden;padding:16px}.vd-date-pair{grid-template-columns:minmax(0,1fr)!important}.vd-guest-input small{position:static;display:block;padding:5px 0 0 2px}.vd-guest-input input{padding-left:35px}.quote-box>div{gap:12px}.quote-box strong{white-space:nowrap}
 .vd-similar .cards{grid-template-columns:minmax(0,1fr)!important}.vd-mobile-booking{max-width:100vw}.vd-mobile-booking .btn{white-space:nowrap}
}
@media(max-width:380px){
 .brand{font-size:18px}.account{font-size:13px;padding:9px 10px}.header-actions button{font-size:20px}
 .vd-container{width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important}.vd-tabs{width:calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;margin-left:-10px!important;margin-right:-10px!important;padding-left:10px!important}.vd-title-line h1{font-size:24px!important}.vd-facts{grid-template-columns:1fr!important}.vd-feature-group>div,.vd-distance-grid{grid-template-columns:1fr!important}.vd-price-row>div:last-child{grid-template-columns:1fr}.vd-deposit{align-items:flex-start;flex-direction:column}.vd-mobile-booking{padding:8px 10px}.vd-mobile-booking .btn{padding:10px 14px}
}

/* v1.0.17 footer logo responsive */
@media(max-width:720px){
  #footer{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}
  #footer .footer-brand-block{width:100%}
}

/* v1.0.22 — admin mobile navigation */
@media(max-width:900px){
  .admin-content{overflow-x:hidden!important}
  .sidebar a,.sidebar .menu-group,.sidebar .menu-title{transform:translateZ(0)}
  .sidebar>input{position:sticky;top:0;z-index:2}
}

/* v1.0.38 show both availability months on mobile */
@media(max-width:900px){.dual-calendar .month-card:nth-child(2){display:block!important}}

/* v1.0.39 horizontal availability slider */
@media(max-width:900px){
 .dual-calendar{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important}
 .dual-calendar .month-card,.dual-calendar .month-card:nth-child(2){display:block!important;width:100%!important;flex:0 0 100%!important}
}
