/* HES — additions for the WordPress build (WooCommerce controls, WordPress content, plugin forms).
   The approved design lives in style.css + site.css; nothing here changes it. */

/* ---- logged-in admin bar vs. sticky header ---- */
.admin-bar .masthead{top:32px}
@media (max-width:782px){.admin-bar .masthead{top:46px}}
@media (max-width:600px){.admin-bar .masthead{top:0}}

/* ---- add to cart (WooCommerce AJAX button dressed as the design's round button) ---- */
a.addbtn{text-decoration:none}
a.addbtn.ghost{font-size:12px;padding:0 14px}
.addbtn.loading{opacity:.55;pointer-events:none}
.pcard .added_to_cart,.pfoot .added_to_cart{display:none!important}

.hes-woo-atc form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}
.hes-woo-atc table.variations{width:100%;margin:0 0 6px}
.hes-woo-atc select,.hes-woo-atc input.qty{height:48px;border:1.5px solid var(--line-2);border-radius:12px;padding:0 12px;font:inherit;background:var(--white)}
.hes-woo-atc button.button{border:0;border-radius:99px;background:var(--green);color:#fff;font:inherit;font-weight:700;padding:14px 26px;cursor:pointer}

/* ---- WooCommerce messages under the header ---- */
.hes-notices{padding-top:18px}
.hes-notices ul{list-style:none;margin:0;padding:0}
.hes-notices .woocommerce-message,.hes-notices .woocommerce-info,.hes-notices .woocommerce-error,
.hes-woo .woocommerce-message,.hes-woo .woocommerce-info,.hes-woo .woocommerce-error{
  list-style:none;margin:0 0 14px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:var(--white);
  border-left:4px solid var(--green);color:var(--ink);font-size:15px;line-height:1.5}
.hes-notices .woocommerce-error,.hes-woo .woocommerce-error{border-left-color:#B5432F}
.hes-notices .woocommerce-info,.hes-woo .woocommerce-info{border-left-color:var(--gold)}
.hes-notices .woocommerce-message::before,.hes-notices .woocommerce-info::before,.hes-notices .woocommerce-error::before,
.hes-woo .woocommerce-message::before,.hes-woo .woocommerce-info::before,.hes-woo .woocommerce-error::before{display:none}
.hes-notices a.button,.hes-woo .woocommerce-message a.button{float:right;margin-left:14px;color:var(--green-d)!important;font-weight:700;text-decoration:none;background:none!important;padding:0!important}

/* ---- generic WordPress pages + WooCommerce cart / checkout / account ---- */
.hes-page{padding-block:clamp(34px,4.5vw,64px) clamp(56px,6vw,90px)}
.hes-page-body{max-width:860px}
.hes-woo .hes-page-body{max-width:none}
.hes-page-body::after{content:"";display:table;clear:both}
.prose img,.pd-desc img{height:auto;max-width:100%}
.prose .alignleft,.pd-desc .alignleft{float:left;margin:6px 24px 14px 0}
.prose .alignright,.pd-desc .alignright{float:right;margin:6px 0 14px 24px}
.prose .aligncenter,.pd-desc .aligncenter{display:block;margin:18px auto}
.prose .wp-caption,.pd-desc .wp-caption{max-width:100%}
.prose .wp-caption-text,.pd-desc .wp-caption-text{font-size:13px;color:var(--ink-3);margin-top:6px}
.prose iframe,.pd-desc iframe{max-width:100%}
.prose table{width:100%;border-collapse:collapse;margin:0 0 18px}
.prose table td,.prose table th{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.hes-pages{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:24px}
.hes-comments{padding-bottom:clamp(40px,5vw,70px)}

.hes-woo .woocommerce{font-size:16px;color:var(--ink)}
.hes-woo .woocommerce h2,.hes-woo .woocommerce h3{font-family:var(--serif);font-weight:500;color:var(--ink);margin:0 0 14px}
.hes-woo .woocommerce table.shop_table{width:100%;border:1px solid var(--line);border-radius:16px;border-collapse:separate;border-spacing:0;background:var(--white);overflow:hidden;margin:0 0 24px}
.hes-woo .woocommerce table.shop_table th,.hes-woo .woocommerce table.shop_table td{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}
.hes-woo .woocommerce table.shop_table thead th{border-top:0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.hes-woo .woocommerce table.shop_table img{width:64px;height:auto;border-radius:8px}
.hes-woo .woocommerce a{color:var(--green-d)}
.hes-woo .woocommerce a.remove{color:#B5432F!important;text-decoration:none;font-size:22px}
.hes-woo .woocommerce input.input-text,.hes-woo .woocommerce textarea,.hes-woo .woocommerce select,
.hes-woo .woocommerce .select2-container .select2-selection--single{
  width:100%;min-height:48px;border:1.5px solid var(--line-2);border-radius:12px;padding:10px 14px;font:inherit;color:var(--ink);background:var(--white);box-sizing:border-box}
.hes-woo .woocommerce .quantity input.qty{width:84px;text-align:center}
.hes-woo .woocommerce input.input-text:focus,.hes-woo .woocommerce textarea:focus,.hes-woo .woocommerce select:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(46,125,94,.15)}
.hes-woo .woocommerce form .form-row{margin:0 0 14px;padding:0}
.hes-woo .woocommerce form .form-row label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--ink-2)}
.hes-woo .woocommerce form.login,.hes-woo .woocommerce form.register,.hes-woo .woocommerce form.checkout_coupon,.hes-woo .woocommerce form.lost_reset_password{
  border:1px solid var(--line);border-radius:18px;background:var(--white);padding:26px;margin:0 0 24px;max-width:560px}
.hes-woo .woocommerce a.button,.hes-woo .woocommerce button.button,.hes-woo .woocommerce input.button,.hes-woo .woocommerce #respond input#submit,
.hes-woo .wc-block-components-button:not(.is-link){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;background:var(--green);color:#fff!important;
  font:inherit;font-weight:700;font-size:15px;line-height:1.2;padding:14px 26px;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.hes-woo .woocommerce a.button:hover,.hes-woo .woocommerce button.button:hover,.hes-woo .woocommerce input.button:hover,
.hes-woo .wc-block-components-button:not(.is-link):hover{background:var(--green-d);transform:translateY(-1px)}
.hes-woo .woocommerce a.button.alt,.hes-woo .woocommerce button.button.alt,.hes-woo .woocommerce #place_order{background:var(--green-d);font-size:16px;padding:16px 30px}
.hes-woo .woocommerce button.button:disabled,.hes-woo .woocommerce button.button.disabled{opacity:.5;cursor:not-allowed}
.hes-woo .woocommerce .cart-collaterals .cart_totals,.hes-woo .woocommerce #order_review,.hes-woo .woocommerce .woocommerce-MyAccount-navigation{
  border:1px solid var(--line);border-radius:18px;background:var(--white);padding:22px}
.hes-woo .woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.hes-woo .woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:600}
.hes-woo .woocommerce .woocommerce-MyAccount-navigation li.is-active a{background:var(--mist);color:var(--green-d)}
.hes-woo .woocommerce .wc-proceed-to-checkout{padding:14px 0 0}
.hes-woo .woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;font-size:17px;padding:17px 26px}
.hes-woo .woocommerce #payment{background:var(--mist);border-radius:16px}
.hes-woo .woocommerce #payment div.payment_box{background:var(--white)}
.hes-woo .woocommerce #payment div.payment_box::before{display:none}
.hes-woo .woocommerce .return-to-shop{margin-top:16px}

/* ---- contact form feedback ---- */
.hes-form-error{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#FBECE8;color:#8C2F1F;font-size:15px}

/* ---- Constant Contact Forms plugin inside the newsletter card ---- */
.nform .ctct-form-wrapper,.nform .ctct-form{margin:0}
.nform .ctct-form-wrapper p{margin:0 0 14px}
.nform .ctct-form-wrapper label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--ink-2)}
.nform .ctct-form-wrapper input[type=text],.nform .ctct-form-wrapper input[type=email],.nform .ctct-form-wrapper input[type=tel]{
  width:100%;height:50px;border:1.5px solid var(--line-2);border-radius:12px;padding:0 14px;font:inherit;color:var(--ink);background:var(--white);box-sizing:border-box}
.nform .ctct-form-wrapper input[type=text]:focus,.nform .ctct-form-wrapper input[type=email]:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(46,125,94,.15)}
.nform .ctct-form-wrapper input[type=submit],.nform .ctct-form-wrapper button[type=submit],.nform .ctct-form-wrapper .ctct-submit{
  width:100%;border:0;border-radius:99px;background:var(--green);color:#fff;font:inherit;font-weight:700;font-size:16px;padding:15px 24px;cursor:pointer;margin-top:6px}
.nform .ctct-form-wrapper input[type=submit]:hover,.nform .ctct-form-wrapper .ctct-submit:hover{background:var(--green-d)}
.nform .ctct-form-wrapper .ctct-disclosure,.nform .ctct-form-wrapper small{font-size:12px;line-height:1.5;color:var(--ink-3)}
.nform .ctct-form-wrapper hr{display:none}
.nform .ctct-message{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:14px}
.nform .ctct-message.ctct-success{background:var(--mist);color:var(--green-d)}
.nform .ctct-message.ctct-error{background:#FBECE8;color:#8C2F1F}

/* ---- search result tabs reuse the chip row ---- */
.srtabs{display:flex;flex-wrap:wrap;gap:8px}

/* ---- neutralise whatever base typography the active theme injects through WordPress global styles ---- */
body.hes-home{font-weight:400;letter-spacing:normal}
