.single-estate_property .content_wrapper.ccc.listing_wrapper.row{margin-top:100px}.single-estate_property .content_wrapper.ccc.listing_wrapper.row{max-width:100%;padding-left:90px!important;padding-right:90px!important;padding-top:10px!important;padding-bottom:40px!important;box-sizing:border-box}.single-estate_property .content-fixed-listing.listing_type_5{margin:0}.single-estate_property .listing_type_title_wrapper{margin-bottom:22px}.single-estate_property .listing_type_title_wrapper .entry-title{margin:0 0 8px 0;color:#232323!important}.single-estate_property .listing_type_title_wrapper .listing_main_image_location{color:#232323!important}.single-estate_property .listing_detail.list_detail_prop_bedrooms{display:none}.single-estate_property .cancelation_policy{display:none}.item_head,.panel-title,.feature_chapter_name{font-weight:500!important}@media (max-width:1200px){.single-estate_property .content_wrapper.ccc.listing_wrapper.row{padding-left:10px!important;padding-right:10px!important}}@media (max-width:767px){.single-estate_property .content_wrapper.ccc.listing_wrapper.row{padding-left:0!important;padding-right:0!important;padding-top:10px!important;padding-bottom:28px!important}}.single-estate_property .listing_main_image.header_masonry{position:relative;display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:20px;height:clamp(360px,42vw,520px);margin-bottom:32px;overflow:visible!important;border:0!important;padding:0!important;background:0 0!important}.single-estate_property .listing_main_image.header_masonry .property_status_wrapper{position:absolute;top:20px;left:20px;z-index:20;pointer-events:none}.single-estate_property .listing_main_image.header_masonry>.image_gallery{float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0;min-height:0;border:0!important;border-right:0!important;border-bottom:0!important;box-sizing:border-box;overflow:hidden!important;border-radius:10px!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}.single-estate_property .listing_main_image.header_masonry>.image_gallery .img_listings_overlay,.single-estate_property .listing_main_image.header_masonry>.image_gallery .lightbox_trigger{border-radius:10px!important;overflow:hidden!important}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="1"]{grid-column:1;grid-row:1/span 2}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="2"]{grid-column:2;grid-row:1}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="3"]{grid-column:3;grid-row:1}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="4"]{grid-column:2;grid-row:2}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="5"]{grid-column:3;grid-row:2}@media (max-width:991px){.single-estate_property .content_wrapper.ccc.listing_wrapper.row{margin-top:0}.single-estate_property .listing_main_image.header_masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto;gap:20px}.single-estate_property .listing_main_image.header_masonry>.image_gallery{min-height:190px}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="1"]{grid-column:1/-1;grid-row:auto;min-height:320px}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="2"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="3"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="4"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="5"]{grid-column:auto;grid-row:auto}}@media (max-width:767px){.property_page_container #all-front-calendars_per_hour,.property_page_container.wprentals_front_avalability{padding:0}.single-estate_property .listing_main_image.header_masonry{margin-bottom:0}.single-content.listing-content .category_wrapper{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:14px 0 18px;margin-bottom:18px;border-bottom:1px solid #e7e9ef}.single-content.listing-content .category_details_wrapper{width:100%}.single-content.listing-content .category_details_wrapper .no_link_details{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:15px;line-height:1.35}.single-content.listing-content .category_details_wrapper .no_link_details:last-of-type{margin-bottom:0}.single-content.listing-content .category_details_wrapper .schema_div_noshow{display:none!important}.single-content.listing-content .category_details_wrapper svg{flex:0 0 17px;width:17px;height:17px}.single-content.listing-content .booking_form_mobile{width:100%;margin:0;position:static!important}.single-content.listing-content .booking_form_mobile a,.single-content.listing-content .booking_form_mobile button,.single-content.listing-content .booking_form_mobile input[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:14px 18px;border-radius:999px;font-size:15px;line-height:1.2;text-align:center;white-space:normal}.single-content.listing-content .category_details_wrapper .property_header_separator{display:none}.single-estate_property .listing_main_image.header_masonry{grid-template-columns:1fr;gap:16px;height:auto}.single-estate_property .listing_main_image.header_masonry .property_status_wrapper{top:25px;left:5px}.single-estate_property .listing_main_image.header_masonry>.image_gallery{min-height:200px;border-radius:10px!important}.single-estate_property .listing_main_image.header_masonry>.image_gallery .img_listings_overlay,.single-estate_property .listing_main_image.header_masonry>.image_gallery .lightbox_trigger{border-radius:10px!important}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="1"]{min-height:260px}.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="1"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="2"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="3"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="4"],.single-estate_property .listing_main_image.header_masonry>.image_gallery[data-slider-no="5"]{grid-column:auto;grid-row:auto}}#booking_form_request.booking_on_mobile{padding-bottom:150px}#primary.wpestate_sidebar_sticky{position:sticky;top:120px}.content-fixed-listing.listing_type_5{padding-top:20px!important}@media (max-width:767px){.single-estate_property .listing_type_title_wrapper{display:grid!important;grid-template-columns:1fr!important;row-gap:6px;align-items:start}.single-estate_property .listing_type_title_wrapper>*{float:none!important;position:static!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;text-align:left!important;margin:0!important}.single-estate_property .listing_type_title_wrapper .entry-title{order:1;margin:0 0 2px 0!important;line-height:1.15}.single-estate_property .listing_type_title_wrapper .listing_main_image_location{order:2;line-height:1.35}.single-estate_property .listing_type_title_wrapper .listing_registration_number{order:3;display:block!important;line-height:1.35;font-size:15px}.single-estate_property .listing_type_title_wrapper .listing_main_image_price{order:4;display:block!important;font-size:20px!important;line-height:1.15!important;margin-top:2px!important}.single-estate_property .listing_type_title_wrapper .property_ratings{order:5}.single-estate_property .listing_type_title_wrapper .property_ratings:empty{display:none!important}}.single-estate_property .listing_reviews_wrapper{width:100%!important;margin:34px 0!important;padding:30px 32px!important;background:#fff!important;border:1px solid rgba(35,35,35,.08)!important;border-radius:18px!important;box-shadow:0 18px 45px rgba(35,35,35,.04)!important;color:#232323!important}.single-estate_property .listing_reviews_container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.single-estate_property #listing_reviews.panel-title{margin:0 0 18px!important;padding:0!important;font-size:22px!important;line-height:1.2!important;font-weight:500!important;color:#232323!important}.single-estate_property .listing_reviews_container>.property_ratings{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 14px!important;width:100%!important;margin:0 0 24px!important;padding:16px 18px!important;background:#fdf2f6!important;border:1px solid rgba(229,69,132,.18)!important;border-radius:14px!important;float:none!important;clear:both!important}.single-estate_property .listing_reviews_container>.property_ratings .property-rating{display:inline-flex!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;color:#232323!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important}.single-estate_property .listing_reviews_container>.property_ratings .rating_legend{display:inline-block!important;order:-1!important;margin:0 3px 0 0!important;padding:0!important;color:#232323!important;font-size:12px!important;line-height:1!important;font-weight:400!important;white-space:nowrap!important}.single-estate_property .listing_reviews_container>.property_ratings .accuracy{display:inline-flex!important;align-items:center!important;order:-1!important;margin:0!important;padding:0!important;white-space:nowrap!important}.single-estate_property .listing_reviews_container>.property_ratings i,.single-estate_property .listing_reviews_container>.property_ratings .fa-star,.single-estate_property .listing_reviews_container>.property_ratings .fas,.single-estate_property .listing_reviews_container>.property_ratings .far{color:#e54584!important;font-size:11px!important;line-height:1!important;margin:0 1px 0 0!important}.single-estate_property .listing_reviews_container>.listing-review,.single-estate_property .listing_reviews_wrapper .listing-review{display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:24px 0 0!important;border-top:1px solid rgba(35,35,35,.08)!important;background:0 0!important;color:#232323!important;float:none!important;clear:both!important;overflow:visible!important}.single-estate_property .listing_reviews_wrapper .listing-review *{max-width:100%!important;box-sizing:border-box!important}.single-estate_property .listing_reviews_wrapper .listing-review img{width:54px!important;height:54px!important;max-width:54px!important;border-radius:999px!important;object-fit:cover!important}.single-estate_property .listing_reviews_wrapper .listing-review .reviewer_image,.single-estate_property .listing_reviews_wrapper .listing-review .user_review_image{width:54px!important;height:54px!important;margin:0 16px 12px 0!important;float:left!important}.single-estate_property .listing_reviews_wrapper .listing-review .reviewer_name,.single-estate_property .listing_reviews_wrapper .listing-review .review_title,.single-estate_property .listing_reviews_wrapper .listing-review h4,.single-estate_property .listing_reviews_wrapper .listing-review .comment-author{margin:2px 0 4px!important;padding:0!important;color:#232323!important;font-size:14px!important;line-height:1.25!important;font-weight:500!important}.single-estate_property .listing_reviews_wrapper .listing-review .review_date,.single-estate_property .listing_reviews_wrapper .listing-review .comment_date,.single-estate_property .listing_reviews_wrapper .listing-review .published{display:block!important;margin:0 0 6px!important;color:rgba(35,35,35,.55)!important;font-size:12px!important;line-height:1.3!important}.single-estate_property .listing_reviews_wrapper .listing-review i,.single-estate_property .listing_reviews_wrapper .listing-review .fa-star,.single-estate_property .listing_reviews_wrapper .listing-review .fas,.single-estate_property .listing_reviews_wrapper .listing-review .far{color:#e54584!important;font-size:12px!important;line-height:1!important;margin:0 1px 0 0!important}.single-estate_property .listing_reviews_wrapper .listing-review .rating_legend,.single-estate_property .listing_reviews_wrapper .listing-review .review_stars{color:rgba(35,35,35,.58)!important;font-size:12px!important;line-height:1.3!important}.single-estate_property .listing_reviews_wrapper .listing-review p,.single-estate_property .listing_reviews_wrapper .listing-review .review-content,.single-estate_property .listing_reviews_wrapper .listing-review .comment-content{display:block!important;width:auto!important;margin:12px 0 0!important;padding:0!important;color:#232323!important;font-size:14px!important;line-height:1.6!important;clear:both!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-reply,.single-estate_property .listing_reviews_wrapper .listing-review .owner_reply,.single-estate_property .listing_reviews_wrapper .listing-review .review_owner_reply,.single-estate_property .listing_reviews_wrapper .listing-review .comment_reply,.single-estate_property .listing_reviews_wrapper .listing-review .reply,.single-estate_property .listing_reviews_wrapper .owner_reply,.single-estate_property .listing_reviews_wrapper .review_reply,.single-estate_property .listing_reviews_wrapper .comment_reply{display:block!important;width:100%!important;margin:16px 0 0!important;padding:16px 18px!important;background:#f7f7f7!important;border-left:3px solid #e54584!important;border-radius:12px!important;color:#232323!important;font-size:14px!important;line-height:1.55!important;clear:both!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-reply strong,.single-estate_property .listing_reviews_wrapper .listing-review .owner_reply strong,.single-estate_property .listing_reviews_wrapper .listing-review .review_owner_reply strong,.single-estate_property .listing_reviews_wrapper .listing-review .comment_reply strong,.single-estate_property .listing_reviews_wrapper .listing-review .reply strong{display:block!important;margin:0 0 5px!important;color:#232323!important;font-size:13px!important;line-height:1.25!important;font-weight:500!important}@media (max-width:767px){.single-estate_property .listing_reviews_wrapper{margin:24px 0!important;padding:22px 18px!important;border-radius:16px!important}.single-estate_property #listing_reviews.panel-title{font-size:22px!important}.single-estate_property .listing_reviews_container>.property_ratings{gap:8px 12px!important;padding:14px 15px!important}.single-estate_property .listing_reviews_container>.property_ratings .property-rating{font-size:11px!important}.single-estate_property .listing_reviews_container>.property_ratings .rating_legend{font-size:11px!important}.single-estate_property .listing_reviews_container>.property_ratings i{font-size:10px!important}.single-estate_property .listing_reviews_wrapper .listing-review .reviewer_image,.single-estate_property .listing_reviews_wrapper .listing-review .user_review_image,.single-estate_property .listing_reviews_wrapper .listing-review img{width:46px!important;height:46px!important;max-width:46px!important}}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>i.fa-star{display:none!important}.single-estate_property .listing_reviews_container>.property_ratings{display:block!important;width:100%!important;margin:0 0 24px!important;padding:16px 18px!important;background:#fdf2f6!important;border:1px solid rgba(229,69,132,.18)!important;border-radius:14px!important;overflow:visible!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px 10%!important;width:100%!important;margin:0!important;padding:0!important;float:none!important;clear:both!important;white-space:normal!important;overflow:visible!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>i.fa-star,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>i.fas.fa-star,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>i.far.fa-star{display:none!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div .rating_legend{display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;color:#232323!important;font-size:12px!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.fa-star,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.fas,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.far{flex:0 0 auto!important;color:#e54584!important;font-size:11px!important;line-height:1!important;margin:0 0 0 1px!important}@media (max-width:991px){.single-estate_property .listing_reviews_container>.property_ratings>.property-rating{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:767px){.single-estate_property .listing_reviews_container>.property_ratings{padding:14px 15px!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating{grid-template-columns:1fr!important;gap:5px!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div{gap:10px!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div .rating_legend{font-size:12px!important}.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.fa-star,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.fas,.single-estate_property .listing_reviews_container>.property_ratings>.property-rating>div i.far{font-size:10px!important}}body .property_page_container.for_reviews{padding:0;margin:0;box-shadow:none}body .property_page_container.for_reviews .listing_reviews_wrapper{margin:0!important}.single-estate_property .listing_reviews_container>.property_ratings{margin:0!important;border:0!important;border-radius:10px!important}.single-estate_property .listing_reviews_wrapper .listing-review{padding:10px 0 0!important}.single-estate_property .listing_reviews_wrapper .listing-review .reviewer_image{width:40px!important;height:40px!important;margin:5px 0!important}body .listing-review .property_ratings{margin-top:0;padding-left:55px}body .ratings-star{margin-right:13px;font-size:12px;color:#232323!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content{display:block!important;width:100%!important;max-width:100%!important;margin:14px 0 0!important;padding:0!important;clear:both!important;color:#232323!important;font-size:14px!important;line-height:1.6!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content>p{margin:0 0 16px!important;padding:0!important;color:#232323!important;font-size:14px!important;line-height:1.6!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply{display:block!important;width:100%!important;max-width:620px!important;margin:16px 0 0 0!important;padding:16px 18px!important;background:#fff!important;border:1px solid rgba(35,35,35,.08)!important;border-left:1px solid #e54584!important;border-radius:10px!important;color:#232323!important;box-shadow:0 10px 28px rgba(35,35,35,.04)!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply .reviewer-name,.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply h4{display:block!important;margin:0 0 6px!important;padding:0!important;color:#232323!important;font-size:14px!important;line-height:1.25!important;font-weight:500!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply p{margin:0!important;padding:0!important;color:#232323!important;font-size:14px!important;line-height:1.55!important}@media (max-width:1023px){.single-estate_property .listing_reviews_wrapper .listing-review .review-content{margin:40px 0 0!important}}@media (max-width:767px){.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply{max-width:100%!important;padding:15px 16px!important;border-radius:12px!important}}.single-estate_property .listing_reviews_wrapper .listing-review .review-content>p{display:block!important;width:100%!important;max-width:620px!important;margin:16px 0 0 0!important;padding:16px 18px!important;background:#fff!important;border:1px solid rgba(35,35,35,.08)!important;border-left:1px solid #232323!important;border-radius:10px!important;color:#232323!important;box-shadow:0 10px 28px rgba(35,35,35,.04)!important}.single-estate_property .listing_reviews_wrapper .listing-review .review-content-owner-reply{margin-top:20px!important;float:right}body .all-front-calendars .booking-calendar-wrapper{padding:0 18px!important}.leaflet-popup-content-wrapper{width:320px!important;max-width:320px!important;border-radius:16px!important;overflow:hidden!important;padding:0!important;box-shadow:0 12px 30px rgba(0,0,0,.18)!important}.leaflet-popup-content{width:320px!important;max-width:320px!important;margin:0!important;padding:0!important;overflow:hidden!important}.info_details.openstreet_map_price_infobox{width:320px!important;max-width:320px!important;position:relative!important;left:auto!important;right:auto!important;margin:0!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important}.leaflet-popup-tip-container{left:50%!important;margin-left:-20px!important}.leaflet-popup-tip{margin:-10px auto 0!important}.leaflet-popup{margin-bottom:45px!important}body #infocloser{border-radius:99px}
/* ============================================================
   12. Sello de verificación del registro turístico — v2 corporativo
   (rediseño José 2026-07-24: más llamativo, sutil y de marca)
   verificado -> tinte magenta THC + escudo-check (mismo icono que la
   trust bar de la home); declarado -> neutro con doc-check.
   Icono en ::before via mask (currentColor), sin assets externos.
   ============================================================ */
.thc-reg-sello{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:3.5px 12px 3.5px 10px;border-radius:999px;font-family:"Montserrat",sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.02em;line-height:1.45;vertical-align:middle;white-space:nowrap}
.thc-reg-sello::before{content:"";width:13px;height:13px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--thc-sello-ico) center/contain no-repeat;mask:var(--thc-sello-ico) center/contain no-repeat}
.thc-reg-sello--verificado{color:#b4245f;background:linear-gradient(180deg,rgba(229,69,132,.08),rgba(229,69,132,.16));border:1px solid rgba(229,69,132,.35);box-shadow:0 2px 8px rgba(229,69,132,.15);--thc-sello-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 8.9a2 2 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.thc-reg-sello--declarado{color:#55555e;background:#f6f6f7;border:1px solid #e2e2e6;--thc-sello-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/svg%3E")}

/* =========================================================
   RESENAS FICHA + ANFITRION - PULIDO 2026-07-30 (Fases 1 y 2)
   Consolidado desde el modulo de preview thc-resenas-preview.php.
   Fase 1: grid de 2 columnas sin ellipsis, media estrella del resumen
   oculta, fila de autor con avatar/nombre/fecha/nota, fecha fuera de
   position:absolute. Fase 2: banda rosa a tarjeta blanca, estrellas al
   token #c83a72 (AA), titulares a 22px, chip del claim del anfitrion.
   Va al final del archivo a proposito: sobrescribe los bloques previos
   de esta misma seccion (lineas ~372-765) sin tocarlos.
   ========================================================= */
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > i{ display:none !important; }
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div{ justify-content:flex-end !important; }
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div .rating_legend{ margin-right:auto !important; }
/* PREVIEW Fase 1 — reseñas ficha. Prefijos alineados con css/alojamiento.css para ganar el !important existente. */
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:2px 32px !important;
}
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div{
  padding:9px 0 !important;
  overflow:visible !important;
  border-bottom:1px solid rgba(35,35,35,.07) !important;
}
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div .rating_legend{
  overflow:visible !important; text-overflow:clip !important;
  flex:0 1 auto !important; width:auto !important;
  font-size:14px !important; font-weight:600 !important; line-height:1.3 !important;
}
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.fa-star,
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.fas,
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.far{
  font-size:14px !important; margin:0 0 0 2px !important;
}
/* fila de autor */
.single-estate_property .listing_reviews_wrapper .listing-review .review-list-content{
  float:none !important; width:100% !important; max-width:100% !important; padding:0 !important;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) !important;
  grid-template-areas:"avatar nombre" "avatar fecha" "avatar nota" "texto texto" !important;
  column-gap:14px !important; row-gap:1px !important; align-items:center !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .reviewer_image{
  grid-area:avatar !important; align-self:start !important;
  width:48px !important; height:48px !important; margin:0 !important;
  border-radius:50% !important; background-size:cover !important; background-position:center !important;
  float:none !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .reviwer-name{
  grid-area:nombre !important;
  font-size:15px !important; font-weight:700 !important; color:#232323 !important; line-height:1.3 !important; margin:0 !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .reviwer-name:empty::before{
  content:"Viajero verificado";
}
.single-estate_property .listing_reviews_wrapper .listing-review .review-date{
  grid-area:fecha !important;
  font-size:13px !important; color:rgba(35,35,35,.58) !important; line-height:1.3 !important;
  margin:0 !important; float:none !important; text-align:left !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .property_ratings{
  grid-area:nota !important;
  display:flex !important; align-items:center !important; gap:5px !important;
  margin:3px 0 0 !important; padding:0 !important; background:none !important; border:0 !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .property_ratings i{ font-size:13px !important; }
.single-estate_property .listing_reviews_wrapper .listing-review .property_ratings .ratings-star{
  font-size:13px !important; color:rgba(35,35,35,.58) !important; margin-left:3px !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .review-content{
  grid-area:texto !important;
  margin:14px 0 0 !important; padding:0 !important;
  border:0 !important; background:transparent !important; box-shadow:none !important;
  font-size:15px !important; line-height:1.65 !important; color:#3a3a3a !important;
}
.single-estate_property .listing_reviews_wrapper .listing-review .review-content p{ margin:0 0 10px !important; }
.single-estate_property .listing_reviews_wrapper .listing-review .review-content p:last-child{ margin-bottom:0 !important; }
@media (max-width:767px){
  .single-estate_property .listing_reviews_container > .property_ratings > .property-rating{
    grid-template-columns:1fr !important; gap:0 !important;
  }
  .single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div{ padding:10px 0 !important; }
}

.single-estate_property .listing_reviews_wrapper .listing-review .review-date{ position:static !important; right:auto !important; top:auto !important; bottom:auto !important; }

html body .single-estate_property .listing_reviews_wrapper .listing-review .review-content p{ border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; padding:0 !important; font-size:15px !important; line-height:1.65 !important; color:#3a3a3a !important; }

/* ---- Fase 2: color, ritmo tipografico y bloque del anfitrion ---- */
/* La banda rosa pasa a tarjeta blanca sutil: la ficha ya usa ese lenguaje en el resto de paneles. */
.single-estate_property .listing_reviews_container > .property_ratings{
  background:#fff !important;
  border:1px solid rgba(35,35,35,.09) !important;
  border-radius:14px !important;
  padding:6px 20px !important;
}
/* Estrellas: token de marca (#c83a72 pasa AA sobre blanco; #E54584 no). */
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.fas,
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.fas.fa-star,
.single-estate_property .listing_reviews_wrapper .listing-review .property_ratings i.fas{
  color:#c83a72 !important;
}
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.far,
.single-estate_property .listing_reviews_container > .property_ratings > .property-rating > div i.far.fa-star,
.single-estate_property .listing_reviews_wrapper .listing-review .property_ratings i.far{
  color:#ddd3da !important;
}
/* Titular de la seccion y del anfitrion a la misma escala. */
.single-estate_property #listing_reviews.panel-title{
  font-size:22px !important; font-weight:600 !important; margin:0 0 20px !important;
}
.single-estate_property .thc-anf .thc-anf__titulo{
  font-size:22px !important; font-weight:600 !important; margin:0 0 18px !important;
}
/* Anfitrion: mismo ritmo vertical que el panel de resenas. */
.single-estate_property .thc-anf{ margin:34px 0 !important; padding:30px 32px !important; }
.single-estate_property .thc-anf .thc-anf__nombre{ font-size:18px !important; }
/* El claim deja de ser un parrafo suelto: chip con check propio (SVG inline, sin depender del subset de Font Awesome). */
.single-estate_property .thc-anf .thc-anf__nota{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  margin:18px 0 0 !important; padding:8px 14px 8px 12px !important;
  background:#fdf2f6 !important; border:1px solid rgba(200,58,114,.16) !important;
  border-radius:999px !important;
  font-size:13px !important; font-weight:600 !important; color:#8f2a52 !important; line-height:1.3 !important;
}
.single-estate_property .thc-anf .thc-anf__nota::before{
  content:"" !important; flex:0 0 auto !important; width:15px !important; height:15px !important;
  background-color:#c83a72 !important;
  -webkit-mask:var(--thc-anf-check) center/contain no-repeat !important;
  mask:var(--thc-anf-check) center/contain no-repeat !important;
}
:root{
  --thc-anf-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.3 5.7a1 1 0 0 1 0 1.4l-9.9 9.9a1 1 0 0 1-1.4 0l-4.3-4.3a1 1 0 1 1 1.4-1.4l3.6 3.6 9.2-9.2a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");
}
@media (max-width:767px){
  .single-estate_property .listing_reviews_container > .property_ratings{ padding:4px 15px !important; }
  .single-estate_property #listing_reviews.panel-title{ font-size:20px !important; }
  .single-estate_property .thc-anf{ margin:26px 0 !important; padding:22px 18px !important; }
  .single-estate_property .thc-anf .thc-anf__titulo{ font-size:19px !important; }
}

.single-estate_property .thc-anf .thc-anf__foto{ border-radius:50% !important; }


/* ---- Fase 3: el bloque del anfitrion se alinea con la columna de contenido ---- */
/* El tema lo pinta en un .full_width_row, asi que ocupaba 1420px mientras el panel de
   resenas ocupaba 852px: dos bordes distintos en la misma pagina. col-md-8 = 60% del row.
   Por encima de 1400px el row del tema no lleva gutter; por debajo, 15px. Se replica. */
@media (min-width:992px){
  .single-estate_property .owner-page-wrapper > .content-fixed-listing{ max-width:60% !important; }
}
@media (min-width:992px) and (max-width:1399px){
  .single-estate_property .owner-page-wrapper{ padding-left:15px !important; padding-right:15px !important; }
}
/* Cabecera: separador entre identidad y bio, y foto con anillo suave. */
.single-estate_property .thc-anf .thc-anf__cabecera{ padding-bottom:18px !important; border-bottom:1px solid rgba(35,35,35,.08) !important; }
.single-estate_property .thc-anf .thc-anf__foto{ box-shadow:0 0 0 3px #fdf2f6 !important; object-position:center !important; }
.single-estate_property .thc-anf .thc-anf__meta{ font-size:13px !important; color:rgba(35,35,35,.58) !important; }
/* Bio: medida de lectura corta y aire. */
.single-estate_property .thc-anf .thc-anf__bio{ margin:18px 0 0 !important; max-width:62ch !important; line-height:1.7 !important; color:#3f3940 !important; }
.single-estate_property .thc-anf .thc-anf__nota{ margin:16px 0 0 !important; }
@media (max-width:767px){
  .single-estate_property .thc-anf .thc-anf__cabecera{ padding-bottom:14px !important; }
  .single-estate_property .thc-anf .thc-anf__bio{ margin:14px 0 0 !important; }
}

/* Fase 3b: la columna del anfitrion se centraba (margin auto del tema) y por debajo de 1400px
   el gutter del wrapper era 30px en vez de 15px: dos correcciones para cuadrar con el panel de resenas. */
.single-estate_property .owner-page-wrapper > .content-fixed-listing{ margin-left:0 !important; margin-right:auto !important; }
@media (max-width:1399px){
  .single-estate_property .owner-page-wrapper{ padding-left:15px !important; padding-right:15px !important; }
}

/* Fase 3c: .owner-page-wrapper trae background #232323 del tema (banda oscura del area de propietario).
   Estaba oculto porque la tarjeta ocupaba el row completo; al alinearla al 60% quedaba una franja negra
   a la derecha. Se transparenta el wrapper, no la tarjeta. */
.single-estate_property .owner-page-wrapper{ background:transparent !important; }


/* ---- Fase 4: composicion en columnas anchas ----
   Con la columna de contenido ancha (>=1100px: pantallas grandes o zoom out) el bloque se
   descosia: las 6 categorias se repartian en 4 columnas, cada resena se quedaba en una
   tarjeta de 620px y el resto de la fila quedaba vacio. Se fija la retícula a 2 columnas
   y las resenas pasan a dos por fila cuando hay sitio. */

/* 1. Categorias: SIEMPRE 2 columnas de escritorio, nunca 3 ni 4. */
@media (min-width:768px){
  .single-estate_property .listing_reviews_container > .property_ratings > .property-rating{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 48px !important;
  }
}

/* 2. Las resenas se colocan en la retícula del contenedor. */
/* container-type va en el PADRE: una @container consulta al ancestro, nunca al propio elemento. */
.single-estate_property .listing_reviews_wrapper{ container-type:inline-size; }
@container (min-width:900px){
  .single-estate_property .listing_reviews_container{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:28px !important;
    row-gap:0 !important;
    align-items:start !important;
  }
  .single-estate_property .listing_reviews_container > #listing_reviews,
  .single-estate_property .listing_reviews_container > .property_ratings{
    grid-column:1 / -1 !important;
  }
  /* cada resena es una tarjeta completa de su celda, sin el filete de separacion horizontal */
  .single-estate_property .listing_reviews_wrapper .listing-review{
    padding:22px 0 0 !important;
    border-top:1px solid rgba(35,35,35,.08) !important;
  }
}

/* 3. El texto deja de ir en una tarjeta de 620px suelta: ocupa su celda. */
html body .single-estate_property .listing_reviews_wrapper .listing-review .review-content > p{
  max-width:none !important;
  width:auto !important;
}

/* 4. Anfitrion: identidad y claim a la izquierda, biografia a la derecha. */
@media (min-width:1200px){
  .single-estate_property .thc-anf{
    display:grid !important;
    grid-template-columns:minmax(190px,.5fr) minmax(0,1.5fr) !important;
    grid-template-areas:"titulo titulo" "identidad bio" "claim bio" !important;
    column-gap:40px !important; row-gap:0 !important;
    align-items:start !important;
  }
  .single-estate_property .thc-anf .thc-anf__titulo{ grid-area:titulo !important; }
  .single-estate_property .thc-anf .thc-anf__cabecera{
    grid-area:identidad !important;
    display:block !important; padding-bottom:0 !important; border-bottom:0 !important;
  }
  .single-estate_property .thc-anf .thc-anf__foto{ margin:0 0 12px !important; }
  .single-estate_property .thc-anf .thc-anf__bio{
    grid-area:bio !important; margin:0 !important; max-width:66ch !important; align-self:stretch !important;
    padding-left:40px !important; border-left:1px solid rgba(35,35,35,.08) !important;
  }
  .single-estate_property .thc-anf .thc-anf__nota{ grid-area:claim !important; margin:18px 0 0 !important; }
}


/* ---- Fase 4b: el anfitrion, tarjeta compacta en vez de dos columnas ----
   Con dos columnas la bio de dos lineas dejaba media tarjeta vacia y el chip se partia.
   El hueco no venia del ancho sino del ALTO: contenido corto en una tarjeta alta.
   Composicion: identidad y claim en una sola fila (claim a la derecha), bio debajo a
   todo el ancho con medida de lectura. La tarjeta baja de ~300px a ~150px de alto. */
@media (min-width:1200px){
  .single-estate_property .thc-anf{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"titulo titulo" "identidad claim" "bio bio" !important;
    column-gap:32px !important;
    align-items:center !important;
  }
  .single-estate_property .thc-anf .thc-anf__cabecera{
    display:flex !important; align-items:center !important; gap:14px !important;
  }
  .single-estate_property .thc-anf .thc-anf__foto{ margin:0 !important; }
  .single-estate_property .thc-anf .thc-anf__nota{
    justify-self:end !important; align-self:center !important;
    margin:0 !important; white-space:nowrap !important;
  }
  .single-estate_property .thc-anf .thc-anf__bio{
    max-width:78ch !important;
    margin:20px 0 0 !important; padding:20px 0 0 !important;
    padding-left:0 !important;
    border-left:0 !important; border-top:1px solid rgba(35,35,35,.08) !important;
    align-self:start !important;
  }
}


/* ---- Fase 4c: la fila unica del anfitrion depende del ANCHO DEL CONTENEDOR, no del viewport ----
   Con @media (min-width:1200px) la fila se activaba tambien cuando la columna medía 738px:
   ahi el chip (nowrap) comprimia la identidad y "6 alojamientos" partia de linea.
   Se anula la regla por viewport y se aplica por @container a partir de 1000px de columna. */
@media (min-width:1200px){
  .single-estate_property .thc-anf{
    display:block !important;
    grid-template-columns:none !important;
    grid-template-areas:none !important;
  }
  .single-estate_property .thc-anf .thc-anf__cabecera{
    display:flex !important; align-items:center !important; gap:14px !important;
    padding-bottom:18px !important; border-bottom:1px solid rgba(35,35,35,.08) !important;
  }
  .single-estate_property .thc-anf .thc-anf__nota{
    justify-self:auto !important; margin:16px 0 0 !important; white-space:normal !important;
  }
  .single-estate_property .thc-anf .thc-anf__bio{
    max-width:66ch !important;
    margin:18px 0 0 !important; padding:0 !important;
    border-top:0 !imprtant; border-left:0 !important;
  }
}
.single-estate_property .owner-page-wrapper > .content-fixed-listing{ container-type:inline-size; }
@container (min-width:1000px){
  .single-estate_property .thc-anf{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"titulo titulo" "identidad claim" "bio bio" !important;
    column-gap:32px !important; row-gap:0 !important;
    align-items:center !important;
  }
  .single-estate_property .thc-anf .thc-anf__titulo{ grid-area:titulo !important; }
  .single-estate_property .thc-anf .thc-anf__cabecera{
    grid-area:identidad !important; padding-bottom:0 !important; border-bottom:0 !important;
  }
  .single-estate_property .thc-anf .thc-anf__nota{
    grid-area:claim !important; justify-self:end !important; align-self:center !important;
    margin:0 !important; white-space:nowrap !important;
  }
  .single-estate_property .thc-anf .thc-anf__bio{
    grid-area:bio !important; align-self:start !important;
    max-width:78ch !important;
    margin:20px 0 0 !important; padding:20px 0 0 !important;
    border-top:1px solid rgba(35,35,35,.08) !important;
  }
}

/* ---- Fase 5: cabecera de la ficha, precio y nota dejan de solaparse ----
   El tema pinta "Desde X € por noche" en position:absolute con text-align:right y ancho
   completo, y la nota (.property_ratings) justo despues en flujo normal: las dos caen en la
   misma esquina derecha y las estrellas se imprimen ENCIMA del texto del precio. No se veia
   porque ninguna ficha de prod tenia resenas; aparece en cuanto una las tiene. */
.single-estate_property .listing_type_title_wrapper{
  display:flex !important; flex-wrap:wrap !important;
  align-items:baseline !important; column-gap:20px !important; row-gap:4px !important;
}
.single-estate_property .listing_type_title_wrapper > h1.entry-title{
  flex:1 1 320px !important; margin-right:auto !important;
}
.single-estate_property .listing_type_title_wrapper > .listing_main_image_price{
  position:static !important; width:auto !important; max-width:none !important;
  order:2 !important; text-align:right !important; white-space:nowrap !important;
  margin:0 !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings{
  order:3 !important; display:flex !important; align-items:center !important; gap:6px !important;
  margin:0 !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings .property-rating{
  display:inline-flex !important; align-items:center !important; gap:2px !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings i.fas{ color:#c83a72 !important; }
.single-estate_property .listing_type_title_wrapper > .property_ratings i.far{ color:#ddd3da !important; }
.single-estate_property .listing_type_title_wrapper > .property_ratings .rating_no{
  font-size:13px !important; color:rgba(35,35,35,.58) !important;
}
.single-estate_property .listing_type_title_wrapper > .listing_main_image_location{
  order:4 !important; flex:1 1 100% !important;
}
@media (max-width:767px){
  .single-estate_property .listing_type_title_wrapper{ column-gap:12px !important; }
  .single-estate_property .listing_type_title_wrapper > h1.entry-title{ flex:1 1 100% !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_price{ text-align:left !important; }
}

/* ---- Fase 5b: ajuste fino de precio + nota en la cabecera ----
   Con align-items:baseline las estrellas (glifos de icono, con su propia linea base)
   quedaban 4px por encima del texto del precio. Se centran entre si sin tocar el h1,
   se aprieta el hueco y el contador pasa a leerse como recuento, no como nota. */
.single-estate_property .listing_type_title_wrapper > .listing_main_image_price{
  align-self:center !important;
  /* NO inline-flex: convierte 'Desde ' en flex item y se pierde el espacio ('Desde97 EUR'). */
  display:inline-block !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings{
  align-self:center !important;
  gap:8px !important; margin-left:-6px !important;
  line-height:1 !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings .property-rating{
  gap:3px !important; line-height:1 !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings i{
  font-size:15px !important; line-height:1 !important;
}
.single-estate_property .listing_type_title_wrapper > .property_ratings .rating_no{
  font-size:13px !important; font-weight:500 !important; line-height:1 !important;
  color:rgba(35,35,35,.55) !important; letter-spacing:.01em !important;
}
@media (max-width:767px){
  .single-estate_property .listing_type_title_wrapper > .property_ratings{ margin-left:0 !important; }
}

/* =========================================================
   PANEL DE CONFIANZA (anfitrion + opiniones) - 2026-07-30
   Marcado nuevo en wprentals-child/inc/thc-resenas-sync.php.
   OJO PURGA: estas clases (.thc-panel, .thc-val, .thc-cat, .thc-res) no existian
   cuando se genero el bundle purgado. Si algun dia se regenera con PurgeCSS,
   hacerlo DESPUES de este cambio o las eliminara por "no usadas".
   ========================================================= */
.single-estate_property .thc-panel{ container-type:inline-size; }
/* la rejilla de 2 columnas de la fase 4 era para el marcado viejo */
.single-estate_property .thc-panel__resenas{ display:block !important; }

.single-estate_property .thc-panel__sep{
  border:0 !important; border-top:1px solid rgba(35,35,35,.08) !important;
  margin:26px 0 !important; height:0 !important;
}
.single-estate_property .thc-panel__tit{
  margin:0 0 14px !important; font-size:20px !important; font-weight:600 !important;
  line-height:1.25 !important; color:#232323 !important;
}
/* el bloque del anfitrion pierde su propia tarjeta: ya vive dentro del panel */
.single-estate_property .thc-panel .thc-anf{
  margin:0 !important; padding:0 !important; border:0 !important;
  border-radius:0 !important; background:none !important;
}

/* ---------- Resumen de valoracion ---------- */
.single-estate_property .thc-val__nota{
  display:flex !important; align-items:center !important; flex-wrap:wrap !important;
  gap:4px 12px !important; margin:0 0 16px !important;
}
.single-estate_property .thc-val__num{
  font-size:34px !important; font-weight:700 !important; line-height:1 !important;
  color:#232323 !important; font-variant-numeric:tabular-nums !important;
}
.single-estate_property .thc-val__estrellas{ display:inline-flex !important; gap:3px !important; }
.single-estate_property .thc-val__estrellas i{ font-size:15px !important; line-height:1 !important; }
.single-estate_property .thc-val__estrellas i.fas{ color:#c83a72 !important; }
.single-estate_property .thc-val__estrellas i.far{ color:#ddd3da !important; }
.single-estate_property .thc-val__n{ font-size:14px !important; color:rgba(35,35,35,.58) !important; }
.single-estate_property .thc-val__vacio{
  margin:0 !important; font-size:14px !important; color:rgba(35,35,35,.58) !important;
}

.single-estate_property .thc-val__cats{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid !important; grid-template-columns:1fr !important; gap:10px 44px !important;
}
@container (min-width:620px){
  .single-estate_property .thc-val__cats{ grid-template-columns:1fr 1fr !important; }
}
.single-estate_property .thc-cat{
  display:grid !important; grid-template-columns:minmax(0,1fr) 96px 34px !important;
  align-items:center !important; gap:12px !important; margin:0 !important;
}
.single-estate_property .thc-cat__lbl{
  font-size:14px !important; color:#232323 !important; line-height:1.3 !important;
  overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;
}
.single-estate_property .thc-cat__barra{
  display:block !important; height:6px !important; border-radius:999px !important;
  background:rgba(35,35,35,.09) !important; overflow:hidden !important;
}
.single-estate_property .thc-cat__barra i{
  display:block !important; height:100% !important; border-radius:inherit !important;
  background:#c83a72 !important;
}
.single-estate_property .thc-cat__num{
  font-size:13px !important; font-weight:600 !important; color:#232323 !important;
  text-align:right !important; font-variant-numeric:tabular-nums !important;
}

/* ---------- Tarjetas de resena ---------- */
.single-estate_property .thc-resenas{
  list-style:none !important; margin:26px 0 0 !important; padding:0 !important;
  display:grid !important; grid-template-columns:1fr !important; gap:0 32px !important;
}
@container (min-width:760px){
  .single-estate_property .thc-resenas{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
.single-estate_property .thc-res{
  margin:0 !important; padding:20px 0 22px !important;
  border-top:1px solid rgba(35,35,35,.08) !important;
}
.single-estate_property .thc-res__cab{
  display:flex !important; align-items:center !important; gap:12px !important; margin:0 0 10px !important;
}
.single-estate_property .thc-res__foto{
  width:40px !important; height:40px !important; min-width:40px !important;
  border-radius:50% !important; object-fit:cover !important; background:#f6eef2 !important;
}
.single-estate_property .thc-res__foto--ini{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  font-weight:700 !important; font-size:16px !important; color:#c83a72 !important;
}
.single-estate_property .thc-res__autor{
  margin:0 !important; font-size:15px !important; font-weight:700 !important;
  color:#232323 !important; line-height:1.3 !important;
}
.single-estate_property .thc-res__meta{
  margin:1px 0 0 !important; font-size:13px !important; color:rgba(35,35,35,.58) !important;
  line-height:1.3 !important;
}
.single-estate_property .thc-res__nota{ font-weight:600 !important; color:#232323 !important; }
.single-estate_property .thc-res__nota::before{ content:"· " !important; font-weight:400 !important; color:rgba(35,35,35,.4) !important; }
.single-estate_property .thc-res__txt{
  font-size:15px !important; line-height:1.6 !important; color:#3a3a3a !important;
}
.single-estate_property .thc-res__txt p{ margin:0 0 10px !important; }
.single-estate_property .thc-res__txt p:last-child{ margin-bottom:0 !important; }

/* recorte sin JavaScript: <details> nativo */
.single-estate_property .thc-res__det summary{
  display:block !important; cursor:pointer !important; list-style:none !important;
  position:relative !important;
}
.single-estate_property .thc-res__det summary::-webkit-details-marker{ display:none !important; }
.single-estate_property .thc-res__det:not([open]) summary{
  max-height:6.6em !important; overflow:hidden !important;
  -webkit-mask-image:linear-gradient(#000 62%,transparent) !important;
  mask-image:linear-gradient(#000 62%,transparent) !important;
}
.single-estate_property .thc-res__det summary::after{
  content:"Leer más" !important; display:inline-block !important; margin-top:6px !important;
  font-size:13.5px !important; font-weight:600 !important; color:#c83a72 !important;
  text-decoration:underline !important; text-underline-offset:2px !important;
}
.single-estate_property .thc-res__det[open] summary::after{ content:"Leer menos" !important; }
.single-estate_property .thc-res__det summary:focus-visible{
  outline:2px solid #c83a72 !important; outline-offset:3px !important; border-radius:6px !important;
}

/* respuesta del propietario */
.single-estate_property .thc-res__resp{
  margin:12px 0 0 !important; padding:10px 0 10px 14px !important;
  border-left:2px solid rgba(200,58,114,.28) !important;
  font-size:14px !important; line-height:1.55 !important; color:#3a3a3a !important;
}
.single-estate_property .thc-res__resp-tit{
  margin:0 0 4px !important; font-size:12.5px !important; font-weight:700 !important;
  letter-spacing:.02em !important; text-transform:uppercase !important; color:#8f2a52 !important;
}
.single-estate_property .thc-res__resp p{ margin:0 0 8px !important; }
.single-estate_property .thc-res__resp p:last-child{ margin-bottom:0 !important; }

@media (max-width:767px){
  .single-estate_property .thc-val__num{ font-size:30px !important; }
  .single-estate_property .thc-cat{ grid-template-columns:minmax(0,1fr) 72px 32px !important; gap:10px !important; }
  .single-estate_property .thc-panel__sep{ margin:20px 0 !important; }
}


/* Panel de confianza - correccion 1: el indicador "Leer mas" iba dentro del
   summary recortado con overflow:hidden, asi que se cortaba con el texto y no
   se veia. Ahora va anclado al fondo del summary, sobre fondo solido, y el
   degradado se pinta encima del texto con un ::before, no con mask. */
.single-estate_property .thc-res__det:not([open]) summary{
  max-height:7.4em !important; overflow:hidden !important;
  padding-bottom:1.6em !important; position:relative !important;
  -webkit-mask-image:none !important; mask-image:none !important;
}
.single-estate_property .thc-res__det:not([open]) summary::before{
  content:"" !important; position:absolute !important; left:0 !important; right:0 !important;
  bottom:1.5em !important; height:2.4em !important; pointer-events:none !important;
  background:linear-gradient(rgba(255,255,255,0),#fff) !important;
}
.single-estate_property .thc-res__det[open] summary{
  padding-bottom:1.6em !important; position:relative !important;
}
.single-estate_property .thc-res__det summary::after{
  position:absolute !important; left:0 !important; bottom:0 !important;
  margin-top:0 !important; background:#fff !important; padding-right:8px !important;
}

/* correccion 2: la banda del enlace ocupa toda la linea, si no el texto difuminado se lee por debajo */
.single-estate_property .thc-res__det summary::after{ right:0 !important; display:block !important; padding:3px 0 0 !important; }
.single-estate_property .thc-res__det:not([open]) summary{ max-height:7.8em !important; padding-bottom:1.9em !important; }
.single-estate_property .thc-res__det:not([open]) summary::before{ bottom:1.9em !important; }
.single-estate_property .thc-res__det[open] summary{ padding-bottom:1.9em !important; }

/* correccion 3: la barra crece con la columna; la etiqueta deja de estirarse y no queda un hueco largo entre ambas */
.single-estate_property .thc-cat{ grid-template-columns:minmax(110px,190px) minmax(60px,1fr) 36px !important; }
@media (max-width:767px){ .single-estate_property .thc-cat{ grid-template-columns:minmax(90px,1fr) minmax(50px,1fr) 32px !important; } }

/* ---- Fase 6: jerarquia de la cabecera de la ficha ----
   Antes: titulo (34/600), Nº de registro (14) metido ENTRE titulo y precio, sello
   "Registro declarado" en pildora con borde y negrita, precio a 23/500 y ubicacion
   debajo a 16 en negro. El elemento mas llamativo de la fila era el tramite legal y
   el precio parecia un pie de foto.
   Ahora: fila 1 = titulo + precio (el dato comercial, con peso). Fila 2 = ubicacion,
   nota y registro, todos como metadatos en gris. El registro sigue visible y
   completo (es obligatorio publicarlo), pero deja de disputarle el sitio al precio. */

/* Fila 2: ubicacion y registro dejan de ocupar ancho completo y comparten linea.
   El h1 crece y empuja: por eso caen juntos a la segunda fila. */
.single-estate_property .listing_type_title_wrapper > .listing_main_image_location{
  flex:0 1 auto !important; order:4 !important;
  font-size:15px !important; font-weight:500 !important;
  color:rgba(35,35,35,.72) !important;
}
.single-estate_property .listing_type_title_wrapper > .listing_registration_number{
  flex:0 1 auto !important; order:5 !important;
  display:inline-flex !important; align-items:center !important; gap:6px !important;
  font-size:12.5px !important; line-height:1.3 !important;
  color:rgba(35,35,35,.5) !important;
}
.single-estate_property .listing_type_title_wrapper > .listing_registration_number .listing_registration_number__label,
.single-estate_property .listing_type_title_wrapper > .listing_registration_number .listing_registration_number__value{
  font-size:12.5px !important; color:rgba(35,35,35,.5) !important; font-weight:400 !important;
}
/* el sello deja de ser una pildora que grita: queda como marca discreta de estado */
.single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello{
  font-size:11px !important; font-weight:600 !important; letter-spacing:.01em !important;
  padding:2px 8px !important; border-radius:999px !important;
  background:rgba(35,35,35,.05) !important; border:0 !important;
  color:rgba(35,35,35,.55) !important;
}
/* Precio: el dato por el que se entra en la ficha. */
.single-estate_property .listing_type_title_wrapper > .listing_main_image_price{
  font-size:24px !important; font-weight:700 !important; color:#232323 !important;
  letter-spacing:-.01em !important;
}
.single-estate_property .listing_type_title_wrapper > .listing_main_image_price .thc-price-from{
  font-size:15px !important; font-weight:500 !important; color:rgba(35,35,35,.55) !important;
}
@media (max-width:767px){
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_price{ font-size:22px !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location,
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number{ flex:1 1 100% !important; }
}

/* Fase 6b: el tema fuerza width:100% !important sobre .listing_main_image_location (regla
   compartida con .entry-prop y el disclaimer), asi que la ubicacion ocupaba la fila entera y
   empujaba el registro a una tercera linea. Se gana por especificidad, no por !important. */
.single-estate_property .listing_type_title_wrapper > .listing_main_image_location,
.single-estate_property .listing_type_title_wrapper > .listing_registration_number{
  width:auto !important; max-width:100% !important;
}
@media (max-width:767px){
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location,
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number{ width:100% !important; }
}

/* Fase 6c: con flex no hay control de filas (o todo cabe en una, o la ubicacion se come
   la fila entera). La cabecera pasa a rejilla explicita: fila 1 = titulo + nota + precio,
   fila 2 = ubicacion (izda) y registro (dcha), ambos como metadatos. */
@media (min-width:768px){
  .single-estate_property .listing_type_title_wrapper{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-areas:'titulo nota precio' 'ubicacion registro registro' !important;
    column-gap:18px !important; row-gap:6px !important; align-items:baseline !important;
  }
  .single-estate_property .listing_type_title_wrapper > h1.entry-title{ grid-area:titulo !important; margin-right:0 !important; }
  .single-estate_property .listing_type_title_wrapper > .property_ratings{ grid-area:nota !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_price{ grid-area:precio !important; justify-self:end !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location{ grid-area:ubicacion !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number{ grid-area:registro !important; justify-self:end !important; }
}

@media (min-width:768px){
  /* Fase 6d: la ubicacion se pegaba al borde derecho de su celda. Se ancla explicitamente. */
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location{ justify-self:start !important; text-align:left !important; }
}

@media (min-width:768px){
  /* Fase 6e: colocacion numerica en vez de areas con nombre. Con las areas el navegador
     situaba la ubicacion al final de su celda pese a justify-self:start. */
  .single-estate_property .listing_type_title_wrapper > h1.entry-title{ grid-column:1 !important; grid-row:1 !important; }
  .single-estate_property .listing_type_title_wrapper > .property_ratings{ grid-column:2 !important; grid-row:1 !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_price{ grid-column:3 !important; grid-row:1 !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location{ grid-column:1 !important; grid-row:2 !important; }
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number{ grid-column:2 / -1 !important; grid-row:2 !important; }
}

@media (min-width:768px){
  /* Fase 6f: la ubicacion aparecia a 787px de su celda pese a justify-self:start y margen 0.
     Es el desplazamiento de un position:relative heredado del tema (centrado antiguo sobre la
     foto). Se anula el posicionamiento entero. */
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location{
    position:static !important; inset:auto !important; transform:none !important;
  }
}

@media (min-width:768px){
  /* Fase 6g: la causa real del desplazamiento era margin-left:auto en
     .listing_type_5 .listing_main_image_location (centrado antiguo sobre la foto). En una
     rejilla, un margen auto empuja el item al final de su celda: por eso justify-self:start
     no hacia nada. */
  .single-estate_property .listing_type_title_wrapper > .listing_main_image_location{
    margin-left:0 !important; margin-right:auto !important; float:none !important;
  }
}

@media (max-width:767px){
  /* Fase 6h: en movil el inline-flex partia 'Nº registro turistico:' y el numero en dos
     columnas. Como bloque, etiqueta y valor fluyen como texto normal. */
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number{
    display:block !important; line-height:1.5 !important;
  }
  .single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello{
    margin-left:6px !important; display:inline-block !important; vertical-align:baseline !important;
  }
}

/* ---- Fase 7 (2026-07-31): el sello vuelve a significar algo ----
   La Fase 6 tenia razon en la jerarquia (el precio manda, el registro es metadato)
   pero apago el sello de mas y dejo tres fallos, los tres verificados en repro a
   390 y 1280 px antes de escribir esto:

   1. Los dos estados se pintaban IGUAL. El override daba color:rgba(35,35,35,.55)
      sobre rgba(35,35,35,.05) a ambos, asi que "Registro verificado" (cuadrado
      contra el censo autonomico) y "Registro declarado" (palabra del anfitrion)
      solo se diferenciaban por el dibujo del icono a 13 px. Un sello que no separa
      los dos estados no es un sello: es ruido con forma de pildora.
   2. En movil el icono NO se pintaba. El override de la 6h cambia la pildora a
      display:inline-block, y ahi el ::before deja de ser item flex: vuelve a ser
      caja inline, que ignora width/height, se queda en 0x0 y la mascara no tiene
      donde dibujar. Se pierde justo en el ancho donde entra la mayoria.
   3. Halo magenta huerfano. La Fase 6 sobrescribio background y border del estado
      verificado, pero NO el box-shadow de la v2: quedaba un resplandor rosa de
      8 px alrededor de una pildora gris, sin nada rosa que lo justifique.

   No se recupera el tamano ni el peso de la v2 (eso era lo que gritaba). Solo el
   color minimo para leer el estado de un vistazo, el icono en los dos anchos y el
   contraste. Prefijo `body` para ganar por especificidad al bloque de la Fase 6
   tambien dentro de su media query, no por orden de aparicion. */

body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello{
  display:inline-flex !important; align-items:center !important; gap:5px !important;
  vertical-align:middle !important;
  padding:2.5px 9px 2.5px 8px !important;
  font-size:11px !important; font-weight:600 !important; letter-spacing:.01em !important;
  border-radius:999px !important;
  box-shadow:none !important;
  cursor:help !important; /* el `title` lleva la explicacion legal del estado */
}
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello::before{
  width:12px !important; height:12px !important;
}
/* Contrastes medidos sobre el blanco de la ficha, no estimados: el gris de la Fase 6
   (texto .55 sobre fondo .05) daba 3,5:1, por debajo del minimo AA a 11 px.
   verificado: tinte de marca, 6,5:1. Es el unico estado con prueba. */
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello--verificado{
  color:#a11f56 !important;
  background:rgba(229,69,132,.10) !important;
  border:1px solid rgba(229,69,132,.30) !important;
}
/* declarado: neutro a proposito. Informa, no premia. Contraste 6,5:1. */
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .thc-reg-sello--declarado{
  color:#5b5560 !important;
  background:rgba(35,35,35,.055) !important;
  border:1px solid rgba(35,35,35,.12) !important;
}
/* El numero de registro estaba a .5 de alfa = 3,2:1 sobre blanco, por debajo del
   minimo AA a 12,5 px. Sube a .65 (4,9:1) y sigue por debajo de la ubicacion (.72),
   que es lo que la Fase 6 queria: visible sin disputarle el sitio al precio.
   .62 se quedaba en 4,50:1 clavado, sin margen para un redondeo. */
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number,
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .listing_registration_number__label,
body.single-estate_property .listing_type_title_wrapper > .listing_registration_number .listing_registration_number__value{
  color:rgba(35,35,35,.65) !important;
}

/* THC 03/08/2026 - Lote 2. El "Desde" del precio daba 3,64:1 con el alfa; el token da 5,33:1. */
.single-estate_property .listing_type_title_wrapper > .listing_main_image_price .thc-price-from{color:var(--thc-muted,#6b6b6b) !important}
