/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/* =========================================================
   P&H Gulf TCM Center: site styles
   Layout, colour and type live in Elementor (kit + widgets).
   This file only covers what Elementor has no control for.
   ========================================================= */

:root{--ph-shadow:0 1px 2px rgba(30,49,34,.06),0 8px 24px rgba(30,49,34,.06)}
html{scroll-padding-top:110px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.elementor-heading-title{text-wrap:balance}
.ph-h-15ch .elementor-heading-title{max-width:15ch}
.ph-h-20ch .elementor-heading-title{max-width:20ch}
:focus-visible{outline:2.5px solid #476A32;outline-offset:3px;border-radius:6px}
.ph-dark :focus-visible,.ph-footer :focus-visible,.ph-mnav :focus-visible{outline-color:#D9AE6E}
a.e-con,a.e-con:hover,a.e-con:focus{text-decoration:none}

/* text editor rhythm (spacing comes from container gaps) */
.elementor-widget-text-editor p{margin-block:0}
.elementor-widget-text-editor p+p,.elementor-widget-text-editor p+ul,.elementor-widget-text-editor ul+p{margin-top:.75em}
.elementor-widget-text-editor ul{margin:0}

/* images: fixed aspect ratios */
.elementor-widget.ph-img img{display:block;width:100%;object-fit:cover}
.elementor-widget.ph-ar-1x1 img{aspect-ratio:1/1}
.elementor-widget.ph-ar-4x5 img{aspect-ratio:4/5}
.elementor-widget.ph-ar-5x4 img{aspect-ratio:5/4}
.elementor-widget.ph-ar-16x9 img{aspect-ratio:16/9}
.elementor-widget.ph-ar-16x10 img{aspect-ratio:16/10}
.elementor-widget.ph-ar-21x9 img{aspect-ratio:21/9}
@media (max-width:1100px){.elementor-widget.ph-ar-21x9 img{aspect-ratio:16/10}}
.elementor-widget.ph-logo-img img,.elementor-widget.ph-pay-img img,.elementor-widget.ph-logo img{width:auto;object-fit:contain}
.elementor-widget.ph-logo-img img{max-width:100%;height:auto}

/* buttons */
.ph-btn .elementor-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;letter-spacing:.005em;transition:background-color .2s,border-color .2s,color .2s,transform .15s}
.ph-btn .elementor-button:active{transform:translateY(1px)}
.ph-btn .elementor-button-content-wrapper{align-items:center}
.ph-btn .elementor-button-icon{display:inline-flex;font-size:1.15em}
.ph-btn .elementor-button-icon i{font-size:inherit}
.ph-chip .elementor-button{min-height:40px}
.ph-chip .elementor-button:hover{color:#3A5828}
.ph-burger .elementor-button{width:48px;height:48px;min-height:48px;padding:0;border-radius:50%}
.ph-burger .elementor-button-icon{font-size:22px}
.ph-full{width:100%!important;--container-widget-width:100%}
@media (max-width:420px){
  .ph-btns>.ph-btn{width:100%!important;--container-widget-width:100%;--container-widget-flex-grow:1}
  .ph-btns>.ph-btn .elementor-button{width:100%}
}

/* links styled as text links */
.ph-link .elementor-heading-title a{text-decoration:underline;text-decoration-color:rgba(71,106,50,.35);text-underline-offset:5px;text-decoration-thickness:1px}
.ph-link--moxa .elementor-heading-title a{text-decoration-color:rgba(217,174,110,.45)}
.ph-link .elementor-heading-title a:hover{text-decoration-color:currentColor}
.ph-glance-note a,.ph-doc a{color:#3A5828;text-decoration:underline;text-underline-offset:3px}

/* header */
.ph-bar{transition:box-shadow .25s}
.ph-bar.elementor-sticky--effects{box-shadow:0 1px 0 #DAE1D3,0 10px 30px rgba(30,49,34,.06)}
@media (max-width:1240px){.ph-hdr-phone{display:none!important}}
.ph-mm .e-n-menu-content>.e-con{box-shadow:0 24px 60px rgba(30,49,34,.14)}
.ph-mm .e-n-menu-title-container{white-space:nowrap}
.ph-ocwrap{min-height:0!important}

/* home hero */
.ph-hero-cn .elementor-icon-list-item:after{opacity:1}
.ph-hero-media{position:relative}
@media (max-width:420px){.ph-hero-copy h1.elementor-heading-title{font-size:34px}}

/* bento tiles */
.ph-tile{transition:border-color .2s,box-shadow .2s}
a.ph-tile:hover{border-color:#DAE1D3!important;box-shadow:var(--ph-shadow)}
.ph-go .elementor-icon{transition:background-color .2s,color .2s}
a.ph-tile:hover .ph-go .elementor-icon{background-color:#476A32!important;color:#fff!important;fill:#fff!important}
.ph-tile-img .elementor-widget-container{height:100%}
@media (min-width:1101px){
  .ph-tile--a{grid-column:span 2;grid-row:span 2}
  .ph-tile--b{grid-row:span 2}
  .ph-tile--a>.ph-tile-img,.ph-tile--b>.ph-tile-img{flex:1 1 0;position:relative}
  .ph-tile--a>.ph-tile-img{min-height:300px}
  .ph-tile--b>.ph-tile-img{min-height:240px}
  .ph-tile--a .ph-tile-img img,.ph-tile--b .ph-tile-img img{position:absolute;inset:0;height:100%!important}
}
.ph-tile--e{grid-column:span 2}
.ph-tile--e>.ph-tile-img{width:46%!important;flex:none;position:relative;min-height:220px}
.ph-tile--e .ph-tile-img img{position:absolute;inset:0;height:100%!important}
@media (max-width:1100px){
  .ph-tile--a .ph-tile-img img{aspect-ratio:16/9}
  .ph-tile--b .ph-tile-img img{aspect-ratio:16/10}
  .ph-tile--e{grid-column:auto}
  .ph-tile--e>.ph-tile-img{width:auto!important;min-height:0;position:static}
  .ph-tile--e .ph-tile-img img{position:static;aspect-ratio:16/10;height:auto!important}
  .ph-tile--g{grid-column:span 2}
}
@media (max-width:767px){.ph-tile--g{grid-column:auto}}

/* numbered steps */
.ph-steps{position:relative;list-style:none}
.ph-step,.ph-vstep{position:relative}
.ph-stepn,.ph-vstepn{position:relative;z-index:1}
.ph-stepn .elementor-heading-title{width:48px;height:48px;border-radius:50%;background:#F7F8F3;border:1.5px solid #476A32;display:grid;place-items:center;line-height:1}
.e-con.ph-steps::before,.e-con.ph-step::before,.e-con.ph-vstep::before{content:none;display:none}
@media (min-width:1024px){.e-con.ph-steps::before{content:"";display:block;position:absolute;inset:23px 24px auto 24px;width:auto;height:1px;background:#DAE1D3;opacity:1;mix-blend-mode:normal;border-radius:0}}
@media (max-width:767px){
  .e-con.ph-step{display:grid!important;grid-template-columns:48px minmax(0,1fr);column-gap:18px;row-gap:12px;padding-bottom:28px}
  .ph-step>.ph-stepn{grid-row:span 2}
  .e-con.ph-step::before{content:"";display:block;position:absolute;inset:48px auto 0 24px;width:1px;height:auto;background:#DAE1D3;opacity:1;mix-blend-mode:normal;border-radius:0}
  .e-con.ph-step:last-child::before{display:none}
}
.ph-vsteps{list-style:none}
.e-con.ph-vstep::before{content:"";display:block;position:absolute;inset:40px auto 0 20px;width:1px;height:auto;background:#DAE1D3;opacity:1;mix-blend-mode:normal;border-radius:0}
.e-con.ph-vstep--last::before{display:none}
.ph-vstepn .elementor-heading-title{width:40px;height:40px;border-radius:50%;border:1.5px solid #476A32;background:#F7F8F3;display:grid;place-items:center;line-height:1}

/* feature image vertical label */
.ph-feature-media{position:relative}
.ph-hanmark .elementor-heading-title{writing-mode:vertical-rl;letter-spacing:.5em;background:#F7F8F3;padding:16px 8px;border-radius:999px;border:1px solid #DAE1D3}

/* FAQ accordion: plus in a circle that turns into a cross */
.ph-faq .e-n-accordion-item-title{list-style:none}
.ph-faq .e-n-accordion-item-title::-webkit-details-marker{display:none}
.ph-faq .e-n-accordion-item-title-icon{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid #DAE1D3;display:grid!important;place-items:center;transition:transform .25s,background-color .2s,border-color .2s}
.ph-faq .e-n-accordion-item-title-icon>span{display:grid;place-items:center}
.ph-faq .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon{transform:rotate(45deg);background:#EDF1E7;border-color:#EDF1E7}
@media (min-width:1101px){.ph-sticky{position:sticky;top:110px}}

/* category chips */
.ph-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ph-chips::-webkit-scrollbar{display:none}
.ph-cat,.ph-hubrow{scroll-margin-top:150px}

/* cards */
.ph-card{transition:border-color .2s,box-shadow .2s}
a.ph-card:hover{border-color:#BACBAF!important;box-shadow:var(--ph-shadow)}
a.ph-card:hover .ph-more .elementor-heading-title{text-decoration:underline;text-underline-offset:4px}
@media (min-width:1101px) and (max-width:1279px){.ph-cards--5{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* price tables and figures */
.ph-tbl,.ph-glance,.ph-facts,.ph-mbar{font-variant-numeric:tabular-nums}

/* treatment page price box */
@media (min-width:1101px){.ph-glance{position:sticky;top:110px}}
@media (max-width:1100px){.ph-glance{order:-1}}

/* map with address card */
.ph-map{position:relative}
.ph-map>.ph-map-embed{position:absolute!important;inset:0;width:100%!important;max-width:none!important;margin:0!important}
.ph-map-embed .elementor-widget-container,.ph-map-embed .elementor-custom-embed{height:100%}
.ph-map-embed iframe{display:block;height:100%!important;border:0}
.ph-mapcard{position:absolute!important;left:16px;right:16px;bottom:16px;width:auto!important;z-index:2;box-shadow:var(--ph-shadow)}

/* legal pages */
.ph-doc ul{list-style:disc;padding-left:22px;display:grid;gap:6px}
.ph-doc li::marker{color:#476A32}

/* footer */
@media (max-width:1023px){.ph-fbrand{grid-column:1/-1}}
@media (max-width:420px){.ph-fgrid{grid-template-columns:minmax(0,1fr)!important}}
.ph-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{text-decoration:underline}

/* mobile booking bar */
.ph-mbar{position:fixed!important;left:0;right:0;bottom:0;z-index:55}
.ph-mbar .elementor-button{min-height:52px}
@media (max-width:767px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}}

/* enquiry form */
.ph-form .elementor-field-textual{min-height:50px}
.ph-form textarea.elementor-field-textual{min-height:120px;resize:vertical}
.ph-form .elementor-field-textual:focus{border-color:#476A32!important;box-shadow:0 0 0 3px rgba(71,106,50,.18);outline:none}
.ph-form .elementor-field-type-radio .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px}
.ph-form .elementor-field-type-radio .elementor-field-option{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid #DAE1D3;border-radius:999px;margin:0!important}
.ph-form .elementor-field-option input{accent-color:#476A32;margin:0}
.ph-form .elementor-field-type-radio .elementor-field-option label{margin:0;font-family:"Red Hat Text",sans-serif;font-weight:500;font-size:15px;line-height:1;color:#384136;cursor:pointer}
.ph-form .elementor-field-type-acceptance .elementor-field-option{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}
.ph-form input[type=checkbox]{accent-color:#476A32;width:20px;height:20px;margin:2px 0 0}
.ph-form .elementor-field-type-acceptance label{font-family:"Red Hat Text",sans-serif;font-size:15.5px;line-height:1.55;color:#384136}
.ph-form .elementor-field-type-acceptance label a{color:#3A5828;text-decoration:underline}
.ph-form .elementor-field-type-submit{width:auto!important;flex:0 0 auto!important;max-width:100%}
.ph-form .elementor-field-type-submit .elementor-button{min-height:50px;white-space:nowrap}
@media (max-width:767px){.ph-form .elementor-field-type-submit{width:100%!important}}
.ph-form .elementor-message{font-size:15.5px}
.ph-form .elementor-message.elementor-message-success{background:#EDF1E7;border-radius:14px;padding:16px 18px;color:#1F271E}
