/*
 Theme Name:   Your Store Name – Divi Child
 Theme URI:    https://example.co.uk/
 Description:  Divi child theme for Your Store Name. Holds the storefront styling (Montserrat, black header, dark centred nav, blue accent, borderless product cards, grey news band, black footer) used by the bundled Divi layouts.
 Author:       Your Store Name
 Template:     Divi
 Version:      1.0.0
 Text Domain:  yourstore
*/

/* ==========================================================================
   1. Tokens — change the colours here and the whole site follows
   ========================================================================== */
:root{
  --ys-primary:#4b90cc;
  --ys-primary-dk:#3a78ae;
  --ys-ink:#000;
  --ys-text:#333;
  --ys-muted:#777;
  --ys-line:#ececec;
  --ys-header:#0a0a0a;
  --ys-nav:#212121;
  --ys-band:#f1f1f1;
  --ys-footer:#0a0a0a;
  --ys-sale:#d26e4b;
  --ys-font:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ==========================================================================
   2. Base typography
   ========================================================================== */
body, body p, body li, body input, body button, body select, body textarea,
.et_pb_module, .et_pb_text, .et_pb_button, .woocommerce{font-family:var(--ys-font)!important}
body{color:var(--ys-text);font-size:16px;line-height:1.6}
h1,h2,h3,h4,h5,h6,
.et_pb_module h1,.et_pb_module h2,.et_pb_module h3,.et_pb_module h4,.et_pb_module h5{
  font-family:var(--ys-font)!important;font-weight:800;color:var(--ys-ink);line-height:1.3;padding-bottom:10px}
h1{font-size:27.2px}
h2{font-size:25.6px}
h3{font-size:20px}
a{color:var(--ys-primary)}
a:hover{color:var(--ys-ink)}
#page-container,#et-main-area,#main-content{background:#fff}
#main-content .container:before{display:none}

/* Divi rows used by the layouts */
.ys-row{width:100%!important;max-width:1170px!important;padding-left:15px!important;padding-right:15px!important}

/* ==========================================================================
   3. Buttons — round blue pill like the sample
   ========================================================================== */
.et_pb_button.ys-btn,
.ys-btn .et_pb_button,
body .et_pb_button_module_wrapper .et_pb_button.ys-btn{
  background:var(--ys-primary)!important;color:#fff!important;border:0!important;border-radius:99px!important;
  font-weight:700!important;text-transform:uppercase;letter-spacing:.03em;font-size:15.5px!important;
  padding:.45em 1.2em!important;line-height:1.7!important}
.et_pb_button.ys-btn:hover{background:var(--ys-primary-dk)!important;padding:.45em 1.2em!important}
.et_pb_button.ys-btn:after{display:none!important}
.et_pb_button.ys-btn-square{border-radius:0!important;font-size:14px!important}

/* ==========================================================================
   4. Header (Theme Builder global header)
   ========================================================================== */
.et-l--header{position:sticky;top:0;z-index:999}
body.admin-bar .et-l--header{top:32px}
@media (max-width:782px){body.admin-bar .et-l--header{top:0;position:relative}}

/* 4a. top strip */
.ys-topbar.et_pb_section{background:#fff!important;border-bottom:1px solid var(--ys-line);padding:0!important}
.ys-topbar .et_pb_row{padding:4px 0!important;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ys-topbar .et_pb_column{margin:0!important;width:auto!important}
.ys-topbar .et_pb_text{font-size:12px;color:var(--ys-ink);font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0!important}
.ys-topbar .et_pb_social_media_follow{margin:0!important}
.ys-topbar .et_pb_social_media_follow li a.icon{background:none!important;width:18px;height:18px;margin:0}
.ys-topbar .et_pb_social_media_follow li a.icon:before{color:#999!important;font-size:13px!important;line-height:18px!important;width:18px;height:18px}
.ys-topbar .et_pb_social_media_follow li{margin:0 0 0 6px!important}

/* 4b. main header row: search | logo | login + cart */
.ys-header-main.et_pb_section{background:var(--ys-header)!important;padding:0!important}
.ys-header-main .et_pb_row{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:90px;padding:0!important}
.ys-header-main .et_pb_column{width:auto!important;margin:0!important}
.ys-header-main .et_pb_row:after{display:none}

.ys-search.et_pb_search{background:rgba(255,255,255,.2)!important;border:0!important;border-radius:99px!important;max-width:230px;height:36px;overflow:hidden}
.ys-search.et_pb_search input.et_pb_s{background:transparent!important;border:0!important;color:#fff!important;font-size:14px!important;height:36px;padding:0 40px 0 14px!important}
.ys-search.et_pb_search input.et_pb_s::placeholder{color:rgba(255,255,255,.75)!important}
.ys-search.et_pb_search input.et_pb_searchsubmit{background:transparent!important;border:0!important;color:transparent!important;width:36px;right:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:center!important;cursor:pointer}

.ys-logo{text-align:center;margin:0!important}
.ys-logo a{color:#fff!important;display:inline-block;line-height:1}
.ys-logo .mark{display:inline-block;border:2px solid #fff;border-radius:6px;padding:6px 12px 4px;font-weight:800;font-size:17px;letter-spacing:.02em;text-transform:uppercase}
.ys-logo small{display:block;font-size:8px;letter-spacing:.3em;margin-top:3px;font-weight:600;opacity:.85}
.ys-logo img{max-height:60px;width:auto}

.ys-header-right{display:flex;justify-content:flex-end;align-items:center;margin:0!important}
.ys-header-right .et_pb_text_inner{display:flex;align-items:center;justify-content:flex-end}
.ys-login{color:rgba(255,255,255,.8)!important;font-size:13px;text-transform:uppercase;letter-spacing:.02em;padding:0 14px;border-right:1px solid rgba(255,255,255,.2)}
.ys-login:hover{color:#fff!important}
.ys-cart{display:inline-flex;align-items:center;gap:8px;color:#fff!important;border:2px solid rgba(255,255,255,.8);border-radius:5px;padding:5px 10px;margin-left:14px;font-weight:700;font-size:13px;text-transform:uppercase;white-space:nowrap}
.ys-cart:hover{background:rgba(255,255,255,.1);color:#fff!important}
.ys-cart .ys-cart-count{background:var(--ys-primary);border-radius:99px;font-size:11px;min-width:18px;text-align:center;padding:0 5px;line-height:18px}
.ys-cart .ys-cart-count.is-empty{display:none}
.ys-cart .woocommerce-Price-amount{color:#fff}

/* 4c. dark nav bar with centred caps links */
.ys-nav.et_pb_section{background:var(--ys-nav)!important;padding:0!important}
.ys-nav .et_pb_row{padding:0!important}
.ys-nav .et_pb_menu{background:transparent!important}
.ys-nav .et_pb_menu__wrap{justify-content:center!important}
.ys-nav .et_pb_menu__menu > nav > ul{justify-content:center!important;flex-wrap:wrap}
.ys-nav .et_pb_menu__menu > nav > ul > li{padding:0!important}
.ys-nav .et_pb_menu__menu > nav > ul > li > a{
  display:flex!important;align-items:center;height:48px;padding:0 10px!important;color:rgba(255,255,255,.8)!important;
  font-size:12.8px!important;text-transform:uppercase;letter-spacing:.02em;font-weight:400!important;border-top:3px solid transparent;opacity:1!important}
.ys-nav .et_pb_menu__menu > nav > ul > li > a:hover,
.ys-nav .et_pb_menu__menu > nav > ul > li.current-menu-item > a{color:#fff!important;border-top-color:var(--ys-primary)}
.ys-nav .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a{padding-right:22px!important}
.ys-nav .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:after{color:rgba(255,255,255,.8);right:6px;top:auto!important;font-size:14px}
.ys-nav .sub-menu{background:#fff!important;border-top:0!important;box-shadow:1px 1px 15px rgba(0,0,0,.15);width:260px!important;padding:12px 0!important}
.ys-nav .sub-menu li{padding:0!important;width:100%}
.ys-nav .sub-menu a{color:#666!important;font-size:14px!important;padding:7px 20px!important;width:100%!important;border-bottom:1px solid var(--ys-line);text-transform:none}
.ys-nav .sub-menu li:last-child a{border-bottom:0}
.ys-nav .sub-menu a:hover{color:#000!important;background:transparent!important;opacity:1!important}
/* mobile menu */
.ys-nav .et_mobile_nav_menu{margin:0 auto}
.ys-nav .mobile_menu_bar:before{color:#fff!important}
.ys-nav .et_mobile_menu{border-top-color:var(--ys-primary)!important}

@media (max-width:980px){
  .ys-header-main .et_pb_row{grid-template-columns:auto 1fr auto;min-height:70px}
  .ys-header-main .ys-search{display:none}
  .ys-login{display:none}
  .ys-logo{text-align:left}
}

/* ==========================================================================
   5. Home page blocks
   ========================================================================== */
.ys-section.et_pb_section{padding:0!important;background:#fff}
.ys-section .et_pb_row{padding:15px 0!important}

/* banner — background image ships with the child theme, swap it in Divi's
   Background settings for the section if you want a different one */
.ys-banner.et_pb_section{padding:30px 0 0!important}
.ys-banner .et_pb_row{padding:0!important}
.ys-banner-box{position:relative;aspect-ratio:1020/430;min-height:240px;max-width:100%;
  background:#164a6e url("images/banner.jpg") center/cover no-repeat;display:flex;flex-direction:column;justify-content:center;padding:4% 6%!important;margin:0!important}
.ys-banner-box h2{color:#fff!important;font-size:clamp(24px,4.6vw,54px)!important;line-height:1.05!important;text-shadow:0 3px 0 rgba(0,0,0,.35);max-width:62%;padding:0 0 10px}
.ys-banner-box p{display:inline-block;color:#fff;font-weight:600;font-size:clamp(13px,1.6vw,19px);background:rgba(0,0,0,.35);padding:4px 10px;border-radius:3px;margin:0}
@media (max-width:600px){.ys-banner-box h2{max-width:100%}}

.ys-divider.et_pb_divider{width:30px!important;margin:30px auto 20px!important;height:3px}
.ys-divider.et_pb_divider:before{border-top:3px solid rgba(0,0,0,.1)!important;width:30px}

.ys-intro h1{text-align:center;padding-bottom:12px}
.ys-intro strong{color:var(--ys-ink)}

/* icon badges */
.ys-badge.et_pb_blurb{text-align:center}
.ys-badge .et-pb-icon{color:#111!important;font-size:40px!important}
.ys-badge .et_pb_module_header{font-size:18px!important;padding-bottom:6px!important}
.ys-badge .et_pb_blurb_description{font-size:15px}

/* section titles: line · TITLE · line   (add class ys-stitle to a Text module) */
.ys-stitle{margin:40px 0 24px!important}
.ys-stitle .et_pb_text_inner{display:flex;align-items:center;gap:16px}
.ys-stitle .et_pb_text_inner:before,.ys-stitle .et_pb_text_inner:after{content:"";flex:1;height:2px;background:rgba(0,0,0,.1)}
.ys-stitle h2{font-size:20px!important;text-transform:uppercase;padding:6px 12px!important;margin:0}
.ys-stitle.ys-boxed h2{border:2px solid rgba(0,0,0,.1)}
.ys-stitle.ys-plain .et_pb_text_inner{justify-content:center}
.ys-stitle.ys-plain .et_pb_text_inner:before,.ys-stitle.ys-plain .et_pb_text_inner:after{display:none}
.ys-stitle.ys-plain h2{font-size:25.6px!important;text-transform:none}

/* article text */
.ys-article ul{padding-left:20px!important;margin-bottom:1.2em}
.ys-article li{margin-bottom:6px}
.ys-article h2{margin-top:20px}
.ys-sep hr,.ys-sep{border:0;border-top:1px solid var(--ys-line)}
.ys-notice{border-left:4px solid var(--ys-primary);background:#f7f9fb;padding:12px 16px!important;font-size:14px;margin-bottom:12px!important}
.ys-notice strong{color:var(--ys-ink)}

.ys-promo-tile{aspect-ratio:5/3;max-width:100%;background:#2a7a5a url("images/promo.jpg") center/cover no-repeat;border-radius:4px;display:flex;align-items:flex-end;padding:18px 20px!important;margin:0!important}
.ys-promo-tile p{color:#fff;font-weight:800;font-size:clamp(18px,2.6vw,28px);line-height:1.1;text-shadow:0 2px 0 rgba(0,0,0,.35);margin:0}

/* small side-by-side reviews */
.ys-mini-review.et_pb_testimonial{background:transparent!important;padding:0!important;display:flex;gap:16px;text-align:left}
.ys-mini-review .et_pb_testimonial_portrait{width:70px!important;height:70px!important;margin:0!important;border-radius:50%;background-color:var(--ys-primary)}
.ys-mini-review .et_pb_testimonial_description{margin:0!important}
.ys-mini-review .et_pb_testimonial_description_inner{width:100%!important}
.ys-mini-review .et_pb_testimonial_author{color:var(--ys-ink);font-size:13px}
.ys-mini-review .et_pb_testimonial_meta{font-size:13px;color:var(--ys-muted)}

/* testimonials row */
.ys-tm.et_pb_testimonial{background:transparent!important;padding:0!important;text-align:center!important}
.ys-tm .et_pb_testimonial_portrait{display:none}
.ys-tm .et_pb_testimonial_description{margin:0!important}
.ys-tm .et_pb_testimonial_description_inner{font-style:italic}
.ys-tm .ys-stars{color:var(--ys-sale);letter-spacing:2px;font-style:normal;font-size:14px;margin-bottom:4px}
.ys-tm .ys-g{display:block;width:40px;height:40px;margin:0 auto 8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M44.5 20H24v8.5h11.8C34.7 33.9 30 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z'/%3E%3C/svg%3E") center/contain no-repeat}
.ys-tm h4{font-style:italic;font-size:16px!important;padding-bottom:6px!important}
.ys-tm .et_pb_testimonial_author,.ys-tm .et_pb_testimonial_meta{display:none}
.ys-placeholder-note{text-align:center;font-size:12px;color:var(--ys-muted)}

/* FAQ accordion with chevrons */
.ys-faq-title h3{font-size:20px!important;text-transform:uppercase;display:inline-block;padding-bottom:10px!important;border-bottom:2px solid rgba(0,0,0,.1);margin-bottom:-2px}
.ys-faq.et_pb_accordion{border-top:1px solid #ddd}
.ys-faq .et_pb_toggle{border:0!important;border-bottom:1px solid #ddd!important;background:#fff!important;padding:10px 0!important;margin:0!important}
.ys-faq .et_pb_toggle_title{font-size:16px!important;font-weight:400!important;color:var(--ys-ink)!important;padding:0 0 0 42px!important}
.ys-faq .et_pb_toggle_title:before{content:""!important;left:12px!important;right:auto!important;width:9px;height:9px;border-right:2px solid #333;border-bottom:2px solid #333;transform:rotate(45deg);margin-top:-7px!important;transition:transform .2s}
.ys-faq .et_pb_toggle_open .et_pb_toggle_title:before{transform:rotate(-135deg);margin-top:-2px!important;display:block!important}
.ys-faq .et_pb_toggle_content{padding:10px 0 4px 42px!important}

/* latest news band */
.ys-news.et_pb_section{background:var(--ys-band)!important;padding:40px 0!important}
.ys-news .et_pb_row{padding:0!important}
.ys-news-title h2{text-transform:uppercase;padding-bottom:24px!important}
.ys-posts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:640px){.ys-posts{grid-template-columns:1fr}}
.ys-post{background:#fff;box-shadow:0 1px 3px -2px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);display:grid;grid-template-columns:1fr 1fr;position:relative;color:var(--ys-text)!important}
.ys-post:hover{box-shadow:0 3px 6px -4px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}
.ys-post .ys-thumb{min-height:200px;background:#1d4f73 center/cover no-repeat}
.ys-post .ys-date{position:absolute;top:14px;left:-4px;background:#fff;border:2px solid var(--ys-primary);color:var(--ys-primary);width:30px;text-align:center;font-weight:700;font-size:14px;line-height:1.1;padding:3px 0}
.ys-post .ys-date small{display:block;font-size:9px}
.ys-post .ys-body{padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center}
.ys-post h5{font-size:14.4px!important;padding-bottom:8px!important}
.ys-post .ys-body i{display:block;width:30px;height:2px;background:rgba(0,0,0,.1);margin-bottom:10px}
.ys-post p{font-size:13.5px;margin:0}

/* weekly deals lists */
.ys-deals-head{text-align:center}
.ys-deals-head h2{text-transform:uppercase}
.ys-list-title h4{font-size:15px!important;text-transform:uppercase;padding-bottom:8px!important;border-bottom:2px solid rgba(0,0,0,.1);margin-bottom:6px}
ul.ys-plist{list-style:none!important;margin:0!important;padding:0!important}
ul.ys-plist li{display:flex;gap:12px;align-items:center;padding:10px 0!important;border-bottom:1px solid var(--ys-line)}
ul.ys-plist img{width:60px;height:60px;object-fit:cover;flex:none}
ul.ys-plist a{display:block;font-size:14px;line-height:1.3}
ul.ys-plist .price{font-size:14px;font-weight:700;color:var(--ys-ink)}
ul.ys-plist del{color:#999;font-weight:400}
ul.ys-plist ins{text-decoration:none}

/* ==========================================================================
   6. WooCommerce product grid — borderless Flatsome-style cards
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{text-align:left;margin-bottom:30px!important}
.woocommerce ul.products li.product a img{margin-bottom:10px!important;box-shadow:none!important;transition:transform .3s}
.woocommerce ul.products li.product .et_shop_image{overflow:hidden;display:block}
.woocommerce ul.products li.product:hover .et_shop_image img{transform:scale(1.06)}
.woocommerce ul.products li.product .et_overlay{display:none!important}
.woocommerce ul.products li.product .ys-loop-cat{display:block;font-size:11.5px;text-transform:uppercase;color:#888;letter-spacing:.02em;line-height:1.3}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--ys-primary)!important;font-size:14.4px!important;font-weight:400!important;line-height:1.3!important;padding:2px 0 4px!important}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--ys-ink)!important}
.woocommerce ul.products li.product .star-rating{color:var(--ys-sale);font-size:12px;margin:0 0 4px!important}
.woocommerce ul.products li.product .price{color:var(--ys-ink)!important;font-size:14.4px!important;font-weight:700}
.woocommerce ul.products li.product .price del{color:#999!important;font-weight:400;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{
  background:var(--ys-sale)!important;color:#fff!important;width:46px;height:46px;min-height:0;line-height:46px!important;padding:0!important;
  border-radius:50%!important;font-size:13px!important;font-weight:700;text-transform:none;top:12px!important;left:0!important;right:auto!important;margin:0!important;box-shadow:1px 1px 3px rgba(0,0,0,.2);z-index:2}
.woocommerce ul.products li.product .button{
  background:transparent!important;border:2px solid var(--ys-primary)!important;color:var(--ys-primary)!important;border-radius:99px!important;
  font-size:12px!important;font-weight:700!important;text-transform:uppercase;padding:4px 14px!important;margin-top:8px!important}
.woocommerce ul.products li.product .button:hover{background:var(--ys-primary)!important;color:#fff!important}
.woocommerce ul.products li.product .button:after{display:none!important}
.woocommerce ul.products li.product .added_to_cart{display:block;font-size:12px;margin-top:4px}

/* category tiles */
.woocommerce ul.products li.product-category{text-align:center}
.woocommerce ul.products li.product-category a img{margin-bottom:10px!important}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{
  font-size:14.4px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:800!important;color:var(--ys-ink)!important;padding:0!important}
.woocommerce ul.products li.product-category .ys-count{display:block;font-size:11px;color:var(--ys-primary);text-transform:uppercase;letter-spacing:.04em;font-weight:400;margin-top:2px}

/* ==========================================================================
   7. Footer (Theme Builder global footer)
   ========================================================================== */
.ys-footer.et_pb_section{background:var(--ys-footer)!important;padding:40px 0 10px!important;color:rgba(255,255,255,.75)}
.ys-footer .et_pb_row{padding:0!important}
.ys-footer h4{color:#fff!important;font-size:15px!important;text-transform:uppercase;letter-spacing:.02em;padding:0!important}
.ys-footer h4:after{content:"";display:block;width:30px;height:3px;background:rgba(255,255,255,.3);margin:10px 0 16px}
.ys-footer,.ys-footer p,.ys-footer li{color:rgba(255,255,255,.75);font-size:15px}
.ys-footer a{color:rgba(255,255,255,.75)!important}
.ys-footer a:hover{color:#fff!important}
.ys-footer strong{color:#fff}
.ys-footer ul{list-style:none!important;padding:0!important;margin:0}
.ys-footer ul.ys-fcats li{border-bottom:1px solid rgba(255,255,255,.08);padding:6px 0!important}
.ys-footer ul.ys-recent li{display:flex;gap:12px;align-items:flex-start;padding:6px 0 10px!important;border-bottom:1px solid rgba(255,255,255,.08)}
.ys-footer .ys-d{border:2px solid rgba(255,255,255,.5);color:#fff;width:28px;text-align:center;font-weight:700;font-size:13px;line-height:1.1;padding:2px 0;flex:none}
.ys-footer .ys-d small{display:block;font-size:9px}
.ys-footer-contact p{margin:0 0 16px;padding:0}
.ys-absfoot.et_pb_section{background:#000!important;padding:16px 0!important;text-align:center}
.ys-absfoot .et_pb_row{padding:0!important}
.ys-absfoot,.ys-absfoot p{font-size:13px;color:rgba(255,255,255,.6)}
.ys-absfoot strong{color:#fff}
.ys-pay{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ys-pay span{background:rgba(255,255,255,.25);color:#fff;border-radius:3px;padding:3px 9px;font-size:11px;font-weight:700;text-transform:uppercase;font-style:italic}

/* ==========================================================================
   8. Floating contact button + age gate (output by functions.php)
   ========================================================================== */
.ys-float{position:fixed;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;z-index:9998}
.ys-float button{width:46px;height:46px;border-radius:50%;background:#2db742;border:0;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.2);cursor:pointer;padding:0}
.ys-float span{background:#fff;color:#333;font-size:14px;padding:6px 12px;border-radius:99px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ys-pop{position:fixed;left:18px;bottom:76px;width:280px;max-width:calc(100% - 36px);background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.2);padding:16px;z-index:9998;font-size:14px}
.ys-pop[hidden]{display:none}
.ys-pop b{color:#000}
.ys-gate{position:fixed;inset:0;background:rgba(0,0,0,.85);display:grid;place-items:center;z-index:100000;padding:16px}
.ys-gate[hidden]{display:none}
.ys-gate .box{background:#fff;max-width:440px;width:100%;padding:30px;text-align:center}
.ys-gate h2{font-size:24px;text-transform:uppercase}
.ys-gate .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.ys-gate button{border-radius:99px;font-weight:700;text-transform:uppercase;padding:0 1.2em;line-height:2.4em;font-size:15px;cursor:pointer;font-family:var(--ys-font)}
.ys-gate .yes{background:var(--ys-primary);color:#fff;border:0}
.ys-gate .no{background:#fff;border:2px solid #ccc;color:#333}

/* ==========================================================================
   9. Inner pages
   ========================================================================== */
.ys-page.et_pb_section{padding:30px 0!important;background:#fff}
.ys-page:not(.ys-page-plain) > .et_pb_row:first-child{border:1px solid #ddd;border-bottom:0;padding:30px 30px 10px!important;max-width:1140px!important;margin-top:0}
.ys-page:not(.ys-page-plain) > .et_pb_row:last-child{border:1px solid #ddd;border-top:0;padding:10px 30px 30px!important;max-width:1140px!important}
.ys-page:not(.ys-page-plain) > .et_pb_row:only-child{border:1px solid #ddd}
.ys-page-plain.et_pb_section{padding:30px 0!important}

/* centred copy (How To Order / About Us) */
.ys-centered-copy{text-align:center;max-width:820px;margin:0 auto!important}
.ys-centered-copy h1,.ys-centered-copy h2{text-transform:uppercase;font-size:27.2px!important}
.ys-centered-copy h3{font-size:20px!important;margin-top:18px}
.ys-centered-copy ul{list-style:none!important;padding:0!important;margin:0 0 1.2em}
.ys-centered-copy li{padding:3px 0}
.ys-centered-copy li:before{content:"✔ ";color:var(--ys-primary);font-weight:700}

/* How To Order step cards with arrows */
.ys-steps{padding:20px 30px!important;background:#f7fbff;background-image:radial-gradient(circle at 15% 20%,rgba(75,144,204,.07) 0 60px,transparent 61px),radial-gradient(circle at 85% 70%,rgba(75,144,204,.07) 0 80px,transparent 81px)}
.ys-steps .et_pb_column{position:relative}
.ys-steps .et_pb_column:not(:last-child):after{content:"→";position:absolute;right:-9%;top:38%;font-size:30px;color:var(--ys-primary);font-weight:700}
.ys-step.et_pb_blurb{border:3px solid var(--ys-primary);border-radius:14px;background:#fff;padding:22px 12px!important}
.ys-step .et-pb-icon{font-size:44px!important}
.ys-step .et_pb_module_header{font-size:14px!important;text-transform:uppercase;padding:8px 0 4px!important}
.ys-step .et_pb_blurb_description{font-size:13px;color:var(--ys-muted)}
@media (max-width:980px){.ys-steps .et_pb_column:after{display:none}}

/* About Us offer banner */
.ys-offer-banner{background:#1d4f73 url("images/banner.jpg") center/cover no-repeat;padding:34px 30px!important;text-align:center;border-radius:2px}
.ys-offer-banner h2{color:#fff!important;font-size:clamp(22px,3.4vw,38px)!important;text-transform:uppercase;text-shadow:0 3px 0 rgba(0,0,0,.35);padding-bottom:6px!important}
.ys-offer-banner p{display:inline-block;color:#fff;font-weight:600;background:rgba(0,0,0,.35);padding:4px 12px;border-radius:3px;margin:0}

/* Contact */
.ys-contact-col h2{color:var(--ys-primary)!important;text-transform:uppercase;font-size:25.6px!important;letter-spacing:.02em}
.ys-contact-col p{font-size:17px;color:var(--ys-ink);margin-bottom:4px}
.et_pb_button.ys-btn-rect{border-radius:4px!important}
.ys-form.et_pb_contact_form_container .et_pb_contact_main_title{display:none}
.ys-form .et_pb_contact_field{padding-left:0!important;margin-bottom:16px!important}
.ys-form .input,.ys-form input.input,.ys-form textarea.input{
  background:#fff!important;border:1px solid #ddd!important;border-radius:0!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
  color:#333!important;font-size:15px!important;padding:10px 12px!important}
.ys-form .input:focus{border-color:var(--ys-primary)!important}
.ys-form .et_contact_bottom_container{float:none;text-align:left;margin-top:0}
.ys-form .et_pb_contact_submit{background:var(--ys-primary)!important;color:#fff!important;border:0!important;border-radius:99px!important;font-weight:700;text-transform:uppercase;padding:.45em 1.4em!important;font-size:15px!important;margin-left:0!important}
.ys-form .et_pb_contact_submit:after{display:none!important}
.ys-contact-details p{margin:0 0 10px}

/* Policies — plain left-aligned like the sample */
.ys-policy h2{font-size:25.6px!important;margin-top:16px}
.ys-policy h3{font-size:18px!important;margin-top:10px}
.ys-policy ul{padding-left:20px!important;margin-bottom:1.2em}
.ys-policy p,.ys-policy li{max-width:70ch}

/* ==========================================================================
   10. Blog list, sidebar and single post
   ========================================================================== */
.ys-bloglist .et_pb_post{display:flex;flex-direction:column;align-items:center;text-align:center;border-bottom:1px solid var(--ys-line);padding-bottom:30px;margin-bottom:40px!important;position:relative}
.ys-bloglist .entry-title{order:1;font-size:27px!important;max-width:640px}
.ys-bloglist .entry-title a{color:var(--ys-ink)!important}
.ys-bloglist .post-meta{order:2;font-size:12px!important;text-transform:uppercase;color:var(--ys-muted)!important;letter-spacing:.02em}
.ys-bloglist .post-meta:before{content:"";display:block;width:30px;height:3px;background:rgba(0,0,0,.1);margin:0 auto 10px}
.ys-bloglist .post-meta a{color:var(--ys-primary)!important}
.ys-bloglist .entry-featured-image-url{order:3;margin:16px 0!important;width:100%}
.ys-bloglist .post-content{order:4;max-width:640px}
.ys-bloglist .more-link{display:inline-block;margin-top:10px;border:2px solid var(--ys-primary);border-radius:99px;padding:3px 16px;font-size:12px;font-weight:700;text-transform:uppercase}
.ys-bloglist .more-link:hover{background:var(--ys-primary);color:#fff!important}
.ys-bloglist .pagination a{color:var(--ys-primary)}

.ys-sidebar{margin-bottom:30px!important}
.ys-sidebar h3{font-size:20px!important;padding-bottom:10px!important}
.ys-sidebar ul{list-style:none!important;padding:0!important}
.ys-sidebar ul.ys-recent li,.ys-sidebar ul.ys-fcats li{padding:6px 0!important;border-bottom:1px solid var(--ys-line);display:block}
.ys-sidebar ul.ys-recent .ys-d{display:none}
.ys-side-search.et_pb_search{border:1px solid #ddd!important;border-radius:0!important;margin-bottom:30px!important}
.ys-side-search input.et_pb_searchsubmit{background:var(--ys-primary)!important;color:#fff!important;border:0!important}

.ys-post-title .et_pb_title_container{text-align:center}
.ys-post-title h1.entry-title{font-size:27.2px!important}
.ys-post-title .et_pb_title_meta_container{font-size:12px;text-transform:uppercase;color:var(--ys-muted)}
.ys-post-title .et_pb_title_featured_container{margin-top:16px}
.ys-post-content ul{padding-left:20px!important}

/* ==========================================================================
   11. Product page template
   ========================================================================== */
.ys-product.et_pb_section{padding:30px 0!important}
.ys-crumb .woocommerce-breadcrumb{font-size:12px!important;text-transform:uppercase;color:#999!important;margin:0!important}
.ys-crumb .woocommerce-breadcrumb a{color:#999!important}
.ys-ptitle h1{font-size:27.2px!important;padding:4px 0 0!important}
.ys-divider-left.et_pb_divider{margin:12px 0 14px!important}
.ys-pprice .price{font-size:24px!important;font-weight:700!important;color:var(--ys-ink)!important}
.ys-pprice .price del{color:#999!important;font-weight:400;font-size:.75em}
.ys-pprice .price ins{text-decoration:none}
.ys-atc .quantity input.qty{border:1px solid #ddd!important;background:#fff!important;color:#333!important;font-size:15px!important;height:40px;width:60px!important}
.ys-atc .single_add_to_cart_button{background:var(--ys-sale)!important;color:#fff!important;border:0!important;border-radius:0!important;text-transform:uppercase;font-weight:700!important;font-size:15px!important;padding:0 1.4em!important;height:40px;line-height:40px!important}
.ys-atc .single_add_to_cart_button:after{display:none!important}
.ys-atc .single_add_to_cart_button:hover{filter:brightness(.92)}
.ys-pmeta .product_meta{font-size:13px;color:var(--ys-muted);border:0!important}
.ys-pmeta .product_meta a{color:var(--ys-primary)}
.ys-product-tabs.et_pb_section{border-top:1px solid #ddd;padding:20px 0!important}
.ys-tabs.et_pb_tabs{border:0!important}
.ys-tabs .et_pb_tabs_controls{display:flex;justify-content:center;background:transparent!important;gap:6px;border:0!important}
.ys-tabs .et_pb_tabs_controls:after{display:none}
.ys-tabs .et_pb_tabs_controls li{background:transparent!important;border:0!important;border-radius:99px}
.ys-tabs .et_pb_tabs_controls li a{color:#666!important;font-size:12px;text-transform:uppercase;padding:4px 14px!important;display:block}
.ys-tabs .et_pb_tabs_controls li.et_pb_tab_active{background:var(--ys-primary)!important}
.ys-tabs .et_pb_tabs_controls li.et_pb_tab_active a{color:#fff!important}
.ys-tabs .et_pb_tab{padding:24px 0!important}
.ys-related .products > h2,.ys-related section.related > h2{display:none}

/* ==========================================================================
   12. Shop / category archive template
   ========================================================================== */
.ys-browse h4{font-size:16px!important;text-transform:uppercase;padding-bottom:10px!important}
.ys-browse h4:after{content:"";display:block;width:30px;height:3px;background:rgba(0,0,0,.1);margin-top:10px}
.ys-browse ul.ys-fcats{list-style:none!important;padding:0!important}
.ys-browse ul.ys-fcats li{padding:7px 0!important;border-bottom:1px solid var(--ys-line);font-size:15px}
.ys-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.ys-toolbar .woocommerce-breadcrumb{font-size:18px!important;text-transform:uppercase;color:var(--ys-ink)!important;font-weight:700;margin:0!important}
.ys-toolbar .woocommerce-breadcrumb a{color:#777!important;font-weight:400}
.ys-toolbar .woocommerce-breadcrumb .sep{margin:0 8px;color:#ccc;font-weight:400}
.ys-toolbar-right{display:flex;align-items:center;gap:16px}
.ys-toolbar .woocommerce-result-count{margin:0;font-size:14px;color:#777}
.ys-toolbar select.orderby{border:1px solid #ddd;padding:8px 10px;font-size:14px;background:#fff;color:#333;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}

/* Cart / checkout / account — tidy WooCommerce defaults to match */
.woocommerce .button.alt,.woocommerce-page .button.alt,.woocommerce #payment #place_order{background:var(--ys-primary)!important;color:#fff!important;border:0!important;border-radius:99px!important;font-weight:700!important;text-transform:uppercase}
.woocommerce .button.alt:after{display:none!important}
.woocommerce-cart table.cart th,.woocommerce-checkout h3{text-transform:uppercase;font-weight:800;color:var(--ys-ink)}
