/* Shared action button. The legacy selectors keep the captured Next pages in
   sync with the same component used by authored pages and JavaScript sections. */
:root{--ov-btn-ink:#202A44;--ov-btn-paper:#FFF9F0;--ov-btn-height:50px;--ov-btn-icon:40px}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,.9vw,16px);min-height:var(--ov-btn-height);width:max-content;max-width:100%;padding:5px 5px 5px clamp(16px,1.6vw,24px);border:0;border-radius:999px;background:var(--ov-btn-ink);color:var(--ov-btn-paper)!important;font-family:var(--font-inter),Inter,system-ui,sans-serif!important;font-size:clamp(16px,1.2vw,20px)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;transition:background-color .25s ease,transform .25s ease,color .25s ease}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button):hover{background:#2c3a5c}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button):focus-visible{outline:3px solid #F6BE4F;outline-offset:4px}
:is(.ov-btn__label,.sv-btn>span:first-child,.ft-btn>span:first-child,.oviyas-benefits-cta>span:first-child){display:block;min-width:0;line-height:1.2;text-align:center}
.ov-btn__icon,.sv-btn-arrow,.ft-btn-arrow,.oviyas-cta-arrow,main a>button[aria-label]:has(>svg)::after,#Hero a>button::after{box-sizing:border-box;display:grid;place-items:center;flex:none;width:var(--ov-btn-icon);height:var(--ov-btn-icon);aspect-ratio:1;border:2px solid currentColor;border-radius:50%;background:none;transition:transform .25s ease}
:is(.ov-btn__icon,.sv-btn-arrow,.ft-btn-arrow,.oviyas-cta-arrow) svg{display:block;width:48%;height:48%}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button):hover :is(.ov-btn__icon,.sv-btn-arrow,.ft-btn-arrow,.oviyas-cta-arrow){transform:rotate(-45deg)}
:is(.ov-btn--light,.ft-btn,.sv-btn-light,#Hero a>button.ov-btn--light){background:var(--ov-btn-paper);color:var(--ov-btn-ink)!important}
:is(.ov-btn--light,.ft-btn,.sv-btn-light,#Hero a>button.ov-btn--light):hover{background:#fff}
:is(.ov-btn--outline,.oviyas-enquiry-button.secondary,#Hero a>button.ov-btn--outline){background:transparent;border:2px solid var(--ov-btn-ink);color:var(--ov-btn-ink)!important}
:is(.ov-btn--outline,.oviyas-enquiry-button.secondary,#Hero a>button.ov-btn--outline):hover{background:rgba(32,42,68,.08)}
:is(.ov-btn--compact,#Hero a>button.ov-btn--compact){min-height:46px;gap:10px;padding:5px 5px 5px 16px;font-size:clamp(14px,1vw,17px)!important}
.ov-btn--compact .ov-btn__icon{width:36px;height:36px}
.oviyas-enquiry-button{border-radius:999px}

/* Captured app CTA buttons keep their animated text nodes, but use the same
   type, padding, and arrow slot as the authored component. */
main a>button[aria-label]:has(>svg)>svg{display:none!important}
:is(main a>button[aria-label]:has(>svg),#Hero a>button)>span[aria-hidden="true"]{display:flex;align-items:center;justify-content:center;min-width:0;padding:0!important;translate:0 .3em;font-family:var(--font-inter),Inter,system-ui,sans-serif!important;font-size:inherit!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important}
:is(main a>button[aria-label]:has(>svg),#Hero a>button)::after{content:''!important;display:grid!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF9F0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/48% no-repeat!important}
:is(main a>button[aria-label]:has(>svg),#Hero a>button):hover::after{transform:rotate(-45deg)}

/* One size for every pill button: same height, minimum width, type and arrow, label
   centred in the space left of the arrow. Grows with the viewport on large screens. */
:root{--ov-btn-width:clamp(180px,17vw,300px);--ov-btn-font:clamp(15px,1.05vw,18px);--ov-btn-pad:clamp(16px,1.6vw,24px)}
@media(min-width:1101px){:root{--ov-btn-height:clamp(50px,3.9vw,68px);--ov-btn-icon:clamp(40px,3vw,54px);--ov-btn-font:clamp(15px,1.3vw,22px);--ov-btn-pad:clamp(16px,2vw,36px)}}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button):not(.ov-btn--compact){min-width:min(var(--ov-btn-width),100%);justify-content:space-between;padding-left:var(--ov-btn-pad);font-size:var(--ov-btn-font)!important}
:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button):not(.ov-btn--compact)>:is(span[aria-hidden="true"],.ov-btn__label,span:first-child:not(:only-child)):not(.ov-btn__icon,.sv-btn-arrow,.ft-btn-arrow,.oviyas-cta-arrow){flex:1;text-align:center}

/* Icon-only and navigation controls retain their distinct shapes. */
:is(.ov-menu-btn,nav>button){display:inline-grid;place-items:center;min-height:48px;line-height:1.1;text-align:center}
.wk-filters button{min-height:44px;line-height:1.2;text-align:center}
@media(max-width:520px){:root{--ov-btn-height:48px;--ov-btn-icon:38px}:is(.ov-btn,.sv-btn,.ft-btn,.oviyas-benefits-cta,.oviyas-enquiry-button,main a>button[aria-label]:has(>svg),#Hero a>button){gap:10px;padding-left:16px}}
