/* Essencial Hospedagem 4.0.6 — acabamento visual universal dos widgets próprios/shortcodes */
:root{--ehw-primary:var(--eh-primary,#123f34);--ehw-primary-hover:var(--eh-primary-hover,#0b3028);--ehw-accent:var(--eh-accent,#c9973e);--ehw-surface:var(--eh-surface,#fff);--ehw-bg:var(--eh-background,#f8f5ee);--ehw-text:var(--eh-text,#17372e);--ehw-muted:var(--eh-text-muted,#65716b);--ehw-border:var(--eh-border,#e6dfd3);--ehw-radius:var(--eh-radius-md,14px);--ehw-shadow:0 18px 45px rgba(20,46,38,.09)}
.eh-elementor-crm,.ehstay-account,.ehstay-account-auth,.ehstay-booking-details,.ehstay-booking-summary,.ehstay-checkout,.ehstay-status,.ehstay-results,.ehstay-room,.ehstay-rates,.ehstay-services{font-family:var(--eh-font-body,Inter,system-ui,sans-serif);color:var(--ehw-text)}
.eh-elementor-crm *{box-sizing:border-box}.eh-elementor-crm a{text-decoration:none}.eh-elementor-crm img{display:block;max-width:100%}

/* Cards de acomodações — usa as classes reais emitidas pelo plugin */
.ehstay-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px!important;align-items:stretch;width:100%}
.ehstay-card{display:flex!important;flex-direction:column;min-width:0;overflow:hidden;background:var(--ehw-surface)!important;border:1px solid var(--ehw-border)!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(20,46,38,.07)!important;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.ehstay-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(20,46,38,.13)!important;border-color:color-mix(in srgb,var(--ehw-accent) 35%,var(--ehw-border))!important}
.ehstay-card>a:first-child{display:block;overflow:hidden;background:#eef0ed}
.ehstay-card>a:first-child img{width:100%!important;height:260px!important;object-fit:cover!important;object-position:center!important;transition:transform .5s ease}
.ehstay-card:hover>a:first-child img{transform:scale(1.025)}
.ehstay-card-body{display:flex!important;flex:1;flex-direction:column;padding:24px!important;gap:0}
.ehstay-card .ehstay-kicker{margin:0 0 11px!important;color:var(--ehw-accent)!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:.075em!important;text-transform:uppercase!important}
.ehstay-card h3{margin:0 0 11px!important;font-family:var(--eh-font-heading,Georgia,serif)!important;font-size:27px!important;line-height:1.16!important;font-weight:500!important;letter-spacing:-.018em!important;color:var(--ehw-text)!important}
.ehstay-card h3 a{color:inherit!important}
.ehstay-card-body>p:not(.ehstay-kicker){margin:0 0 22px!important;color:var(--ehw-muted)!important;font-size:15px!important;line-height:1.7!important}
.ehstay-card-footer{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:auto!important;padding-top:19px!important;border-top:1px solid var(--ehw-border)!important}
.ehstay-card-footer strong{display:block;color:var(--ehw-text)!important;font-size:16px!important;line-height:1.3!important;font-weight:750!important}
.ehstay-card .ehstay-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:11px 17px!important;border:1px solid var(--ehw-primary)!important;border-radius:9px!important;background:var(--ehw-primary)!important;color:#fff!important;font-size:13px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;transition:.2s ease!important}
.ehstay-card .ehstay-btn:hover{background:var(--ehw-primary-hover)!important;border-color:var(--ehw-primary-hover)!important;color:#fff!important;transform:translateY(-1px)}

/* Busca, formulários, autenticação e checkout */
.eh-elementor-crm form:not(.ehstay-search),.ehstay-account-auth form,.ehstay-account-form,.ehstay-checkout form{gap:18px}
.eh-elementor-crm label,.ehstay-account-auth label,.ehstay-account-form label{font-weight:650;color:var(--ehw-text)}
.eh-elementor-crm input:not([type=checkbox]):not([type=radio]),.eh-elementor-crm select,.eh-elementor-crm textarea,.ehstay-account-auth input,.ehstay-account-form input,.ehstay-account-form select,.ehstay-account-form textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--ehw-border);border-radius:10px;background:#fff;color:var(--ehw-text);box-shadow:none;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.eh-elementor-crm textarea,.ehstay-account-form textarea{min-height:120px;resize:vertical}
.eh-elementor-crm input:focus,.eh-elementor-crm select:focus,.eh-elementor-crm textarea:focus,.ehstay-account-auth input:focus,.ehstay-account-form input:focus,.ehstay-account-form select:focus,.ehstay-account-form textarea:focus{border-color:var(--ehw-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ehw-primary) 12%,transparent)}
.eh-elementor-crm button,.eh-elementor-crm .ehstay-btn,.ehstay-account .ehstay-btn,.ehstay-booking-details .ehstay-btn,.ehstay-booking-summary .ehstay-btn,.ehstay-status .ehstay-btn{border:1px solid var(--ehw-primary);border-radius:9px;background:var(--ehw-primary);color:#fff;min-height:44px;padding:11px 18px;font-weight:700;cursor:pointer;text-decoration:none;transition:.2s ease}
.eh-elementor-crm button:hover,.eh-elementor-crm .ehstay-btn:hover,.ehstay-account .ehstay-btn:hover,.ehstay-booking-details .ehstay-btn:hover,.ehstay-booking-summary .ehstay-btn:hover,.ehstay-status .ehstay-btn:hover{background:var(--ehw-primary-hover);border-color:var(--ehw-primary-hover);color:#fff}

/* Tarifas, serviços, opções, resultados e resumos */
.ehstay-rate-option,.ehstay-recommendation,.ehstay-bundle-lines article,.ehstay-room-attributes>div,.ehstay-booking-summary-grid>div,.ehstay-claim-bookings,.ehstay-empty,.ehstay-account-stats article{background:#fff!important;border:1px solid var(--ehw-border)!important;border-radius:14px!important;box-shadow:0 8px 25px rgba(20,46,38,.045)}
.ehstay-rate-option{padding:16px!important}.ehstay-recommendation{padding:22px!important}.ehstay-bundle-lines article{padding:14px 16px!important}
.ehstay-room-attributes{gap:14px!important}.ehstay-room-attributes>div{padding:17px!important}.ehstay-room-attributes dt{color:var(--ehw-muted);font-size:12px;text-transform:uppercase;letter-spacing:.055em}.ehstay-room-attributes dd{color:var(--ehw-text);font-size:15px}
.ehstay-booking-summary,.ehstay-booking-details,.ehstay-checkout,.ehstay-account-auth{background:#fff;border:1px solid var(--ehw-border);border-radius:18px;padding:28px;box-shadow:var(--ehw-shadow)}
.ehstay-booking-items{overflow:hidden;border:1px solid var(--ehw-border);border-radius:12px}.ehstay-booking-items th{background:#f7f5ef;color:var(--ehw-text);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ehstay-booking-items th,.ehstay-booking-items td{padding:13px 14px!important;border-color:var(--ehw-border)!important}

/* Conta */
.ehstay-account-nav{gap:8px!important;padding:7px!important;background:#f3f1eb!important;border-radius:12px!important}.ehstay-account-nav a{padding:10px 14px!important;border-radius:8px!important;color:var(--ehw-text)!important}.ehstay-account-nav a:hover,.ehstay-account-nav a.is-active{background:#fff!important;box-shadow:0 4px 12px rgba(20,46,38,.07)}
.ehstay-account-booking{border-radius:16px!important;border-color:var(--ehw-border)!important;box-shadow:0 10px 30px rgba(20,46,38,.055)}
.ehstay-account-booking-image{object-fit:cover}.ehstay-account-booking-content{padding:22px!important}.ehstay-account-booking-content h3{font-family:var(--eh-font-heading,Georgia,serif);font-size:23px;font-weight:500}

/* Avisos e estados */
.ehstay-notice{padding:15px 18px!important;border:1px solid color-mix(in srgb,var(--ehw-accent) 30%,var(--ehw-border))!important;border-left:4px solid var(--ehw-accent)!important;border-radius:10px!important;background:#fffaf0!important}.ehstay-notice-error{border-left-color:#a94747!important;background:#fff5f5!important}.ehstay-notice-info{border-left-color:var(--ehw-primary)!important;background:#f3f8f6!important}
.ehstay-status-icon{width:64px!important;height:64px!important}

/* Dinâmicos da acomodação */
.eh-dynamic-room-gallery{border-radius:16px;overflow:hidden}.eh-dynamic-room-title{font-family:var(--eh-font-heading,Georgia,serif)!important;color:var(--ehw-text)}.eh-dynamic-room-content{color:var(--ehw-muted);line-height:1.8}.eh-dynamic-room-capacity{color:var(--ehw-muted)}.eh-dynamic-amenities{display:flex;flex-wrap:wrap;gap:8px}.eh-dynamic-amenities span{padding:7px 10px;border:1px solid var(--ehw-border);border-radius:999px;background:#f7f5ef;color:var(--ehw-text)}.eh-dynamic-room-price strong{color:var(--ehw-accent)}

/* Calendário */
.ehstay-calendar,.ehstay-calendar-month{background:#fff;border:1px solid var(--ehw-border);border-radius:16px}.ehstay-calendar-toolbar,.ehstay-calendar-bar{padding:14px 16px;border-bottom:1px solid var(--ehw-border)}.ehstay-calendar-day-cell{border-color:var(--ehw-border)}

/* Widgets próprios auxiliares */
.eh-elementor-hero{position:relative;overflow:hidden;border-radius:20px;background-size:cover;background-position:center;min-height:480px;display:flex;align-items:center}.eh-elementor-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,25,.72),rgba(8,31,25,.22))}.eh-elementor-hero-content{position:relative;z-index:1;max-width:680px;padding:56px;color:#fff}.eh-elementor-hero h1{font-family:var(--eh-font-heading,Georgia,serif);font-size:clamp(42px,5vw,68px);line-height:1.03;font-weight:500;margin:10px 0 18px}.eh-elementor-hero p{font-size:17px;line-height:1.7}.eh-elementor-logo img{height:auto}.eh-elementor-link-icon{transition:transform .2s ease,opacity .2s ease}.eh-elementor-link-icon:hover{transform:translateY(-2px)}

@media(max-width:1024px){.ehstay-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ehstay-card>a:first-child img{height:240px!important}}
@media(max-width:767px){.ehstay-cards{grid-template-columns:1fr!important;gap:20px!important}.ehstay-card>a:first-child img{height:230px!important}.ehstay-card-body{padding:20px!important}.ehstay-card h3{font-size:24px!important}.ehstay-card-footer{grid-template-columns:1fr!important}.ehstay-card .ehstay-btn{width:100%!important}.ehstay-booking-summary,.ehstay-booking-details,.ehstay-checkout,.ehstay-account-auth{padding:20px;border-radius:14px}.eh-elementor-hero{min-height:400px;border-radius:14px}.eh-elementor-hero-content{padding:34px 24px}}
