/* VILLA-REAL-20261026-R1. Visual layer only; no booking or pricing logic. */
#psb-villa-panel .villa-feature-hero{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);gap:18px;align-items:start;margin-bottom:14px}
#psb-villa-panel .villa-feature-left,#psb-villa-panel .villa-feature-right{min-width:0}
#psb-villa-panel .villa-feature-left .villa-notice-heading{margin:0 0 12px}
#psb-villa-panel .villa-feature-left .villa-notice-heading h2{font-size:clamp(22px,2.25vw,31px);margin:4px 0 9px;color:#12462e}
#psb-villa-panel .villa-feature-left .villa-notice-heading p{font-size:14px;line-height:1.6;margin:0;color:#506c60;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
#psb-villa-panel .villa-feature-equipment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:12px 5px;margin:12px 0;background:#eff7f1;border:1px solid #e0eee4;border-radius:16px}
#psb-villa-panel .villa-feature-equipment>div{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:2px 5px}
#psb-villa-panel .villa-feature-equipment>div+div{border-left:1px solid #b9d5c7}
#psb-villa-panel .villa-feature-symbol{display:flex;width:47px;height:47px;align-items:center;justify-content:center;border-radius:50%;background:#dcece2;font-size:25px;line-height:1}
#psb-villa-panel .villa-feature-equipment strong{font-size:14px;line-height:1.3;color:#103f2c;white-space:nowrap}
#psb-villa-panel .villa-feature-equipment small{font-size:11px;color:#697970;line-height:1.3}
#psb-villa-panel .villa-feature-photos{display:grid;grid-template-columns:1.7fr 1fr;grid-template-rows:repeat(2,minmax(95px,1fr));gap:9px;min-height:228px}
#psb-villa-panel .villa-feature-photo{position:relative;cursor:pointer;border:0;min-width:0;min-height:95px;overflow:hidden;border-radius:14px;background:#e8f0e8;padding:0;display:block}
#psb-villa-panel .villa-feature-photo-1{grid-row:1/3}
#psb-villa-panel .villa-feature-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transition:transform .2s ease}
#psb-villa-panel .villa-feature-photo:hover img{transform:scale(1.03)}
#psb-villa-panel .villa-feature-photo:focus-visible{outline:3px solid #0e6546;outline-offset:3px}
#psb-villa-panel .villa-feature-photo span{position:absolute;z-index:1;bottom:8px;left:8px;max-width:calc(100% - 16px);padding:5px 9px;background:rgba(11,58,40,.91);border:1px solid rgba(255,255,255,.36);color:#fff;font-size:12px;line-height:1.35;border-radius:9px;text-align:left}
#psb-villa-panel .villa-feature-right{display:flex;flex-direction:column;gap:9px}
#psb-villa-panel .villa-feature-right .villa-flex-compact-base{padding:16px;min-height:98px;border-color:#dbc88d}
#psb-villa-panel .villa-feature-right .villa-flex-compact-base b{font-size:clamp(23px,2.7vw,32px)}
#psb-villa-panel .villa-feature-right .villa-feature-unpriced{font-size:20px;color:#496c59}
#psb-villa-panel .villa-feature-difference{margin:0;padding:10px 12px;background:#f0f7f2;color:#405d4b;border-radius:12px;font-size:13px;line-height:1.6}
#psb-villa-panel .villa-feature-right .psb-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;max-width:100%;min-height:43px;width:100%;padding:10px 12px;text-align:center;white-space:normal;line-height:1.4;overflow-wrap:anywhere;font-size:14px}
#psb-villa-panel .villa-price-action-links{display:grid;gap:8px}
#psb-villa-panel .villa-feature-gallery-action{background:#10543b;color:#fff;border:1px solid #10543b}
#psb-villa-panel .villa-detail-link{background:#fff;border:1px solid #14644a;color:#10543b}
#psb-villa-panel .villa-promo-link{background:#fff7e7;border:1px solid #e1c583;color:#7b540e}
#psb-villa-panel .villa-feature-schedule{font-size:13px;margin:6px 0 10px}
#psb-villa-panel .villa-feature-differences{margin:16px 0 10px;border:1px solid #d3e5d9;background:#f7fbf8;border-radius:14px;padding:12px}
#psb-villa-panel .villa-feature-differences>summary{cursor:pointer;font-weight:800;color:#15563d;line-height:1.45}
#psb-villa-panel .villa-feature-differences .villa-use-compare{margin:13px 0 0}
@media(max-width:920px){#psb-villa-panel .villa-feature-hero{grid-template-columns:1fr}#psb-villa-panel .villa-feature-right{display:grid;grid-template-columns:1fr 1fr;gap:9px}#psb-villa-panel .villa-feature-right .villa-flex-compact-base,#psb-villa-panel .villa-feature-difference{grid-column:1/-1}#psb-villa-panel .villa-price-action-links{display:contents}}
@media(max-width:620px){#psb-villa-panel .villa-feature-hero{gap:13px}#psb-villa-panel .villa-feature-equipment strong{font-size:12px}#psb-villa-panel .villa-feature-symbol{width:39px;height:39px;font-size:22px}#psb-villa-panel .villa-feature-equipment small{font-size:10px}#psb-villa-panel .villa-feature-photos{grid-template-rows:repeat(2,105px);gap:6px;min-height:0}#psb-villa-panel .villa-feature-photo span{font-size:10px;padding:4px 6px}#psb-villa-panel .villa-feature-right{grid-template-columns:1fr}#psb-villa-panel .villa-feature-right .villa-flex-compact-base,#psb-villa-panel .villa-feature-difference{grid-column:auto}#psb-villa-panel .villa-price-action-links{display:grid}}
@media(max-width:375px){#psb-villa-panel .villa-feature-equipment{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}#psb-villa-panel .villa-feature-equipment>div:nth-child(3){border-left:0}}

/* B1 detail source: use an explicit room label above photos, never a villa-room label. */
#psb-villa-panel .villa-feature-photo-caption{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:11px 1px 7px;color:#144832}
#psb-villa-panel .villa-feature-photo-caption strong{font-size:16px}
#psb-villa-panel .villa-feature-photo-caption span{font-size:12px;color:#52725e}

/* 1027: Restores the original query form grid lost in a prior layout patch.
   Only presentation is modified: no form name, GET input, query/price logic changes. */
#psb-villa-panel .villa-feature-query-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:15px;padding:0 3px;color:#164e36}
#psb-villa-panel .villa-feature-query-header strong{font-size:18px}
#psb-villa-panel .villa-feature-query-header span{font-size:12px;color:#547363}
#psb-villa-panel .villa-query-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(148px,auto);gap:13px;align-items:end;margin:8px 0 14px;padding:17px 18px;border:1.5px solid #95c2ab;border-radius:17px;background:linear-gradient(115deg,#e6f3eb,#f4faf5);box-shadow:0 5px 14px rgba(15,69,44,.07)}
#psb-villa-panel .villa-query-form label{display:grid;gap:7px;min-width:0;font-size:14px;font-weight:800;color:#194934}
#psb-villa-panel .villa-query-form input,#psb-villa-panel .villa-query-form select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:9px 10px;border:1px solid #adcbb9;border-radius:10px;background:#fff;font-size:16px;color:#1b3427}
#psb-villa-panel .villa-query-form input:focus-visible,#psb-villa-panel .villa-query-form select:focus-visible{outline:3px solid #a4d8b7;outline-offset:1px}
#psb-villa-panel .villa-query-form button{box-sizing:border-box;min-height:46px;padding:10px 15px;font-size:15px;background:#11543a;color:#fff;border-radius:11px;white-space:normal;line-height:1.4}
#psb-villa-panel .villa-query-form button:hover{background:#0b3d2a}
@media(max-width:850px){#psb-villa-panel .villa-query-form{grid-template-columns:repeat(2,minmax(0,1fr))}#psb-villa-panel .villa-query-form button{width:100%;grid-column:1/-1}}
@media(max-width:520px){#psb-villa-panel .villa-query-form{grid-template-columns:1fr;padding:13px 12px;gap:11px}#psb-villa-panel .villa-query-form label{font-size:12px}#psb-villa-panel .villa-query-form input,#psb-villa-panel .villa-query-form select{font-size:16px;padding:8px 7px}#psb-villa-panel .villa-feature-query-header strong{font-size:16px}}
@media(max-width:355px){#psb-villa-panel .villa-query-form{grid-template-columns:1fr}#psb-villa-panel .villa-query-form button{grid-column:1}}
