/* WooCommerce surfaces, dressed in the Roaring Fork Scoop direction. */
.rfs-woo-main{padding-top:96px}
@media(min-width:768px){.rfs-woo-main{padding-top:120px}}
.rfs-woo-head{padding-block:3rem 2.5rem}
.rfs-woo-head p{margin-top:1rem;color:var(--muted)}
.rfs-woo-body{padding-bottom:5rem}
.rfs-woo-cross{padding-bottom:6rem}
.rfs-footlinks{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:1.25rem;font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}
.rfs-footlinks a{color:var(--muted);transition:color .2s}
.rfs-footlinks a:hover{color:var(--sage)}

/* cart button in the nav */
.rfs-cart{position:relative;display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);transition:color .2s}
.rfs-cart:hover{color:var(--snow)}
.rfs-cart .n{font-family:var(--tech);font-size:.72rem;letter-spacing:.08em;min-width:1.25rem;text-align:center;padding:.1rem .35rem;border:1px solid var(--line)}
.rfs-cart.has{color:var(--snow)}
.rfs-cart.has .n{background:var(--sage);border-color:var(--sage);color:var(--ground)}

/* ---- shared woo type + controls ---- */
.rfs-woo .woocommerce{color:var(--snow)}
.rfs-woo h1,.rfs-woo h2,.rfs-woo h3{font-weight:500;letter-spacing:-.03em}
.rfs-woo a{color:var(--snow)}
.rfs-woo .woocommerce-breadcrumb{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:2.5rem}
.rfs-woo .woocommerce-breadcrumb a{color:var(--muted)}
.rfs-woo .woocommerce-breadcrumb a:hover{color:var(--sage)}
.rfs-woo .price,.rfs-woo .woocommerce-Price-amount{color:var(--sage);font-weight:500;letter-spacing:-.02em}
.rfs-woo del,.rfs-woo del .woocommerce-Price-amount{color:var(--muted);opacity:.7}
.rfs-woo .woocommerce-result-count{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.rfs-woo .woocommerce-ordering select,
.rfs-woo select,.rfs-woo input[type=text],.rfs-woo input[type=email],.rfs-woo input[type=tel],.rfs-woo input[type=password],.rfs-woo input[type=number],.rfs-woo textarea{
  background:var(--ground);border:1px solid var(--line);color:var(--snow);border-radius:0;padding:.7rem .9rem;font-family:var(--display);font-size:1rem}
.rfs-woo select:focus,.rfs-woo input:focus,.rfs-woo textarea:focus{border-color:var(--sage);outline:none}
.rfs-woo label{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}

/* buttons */
.rfs-woo .button,.rfs-woo button.button,.rfs-woo a.button,.rfs-woo input.button,.rfs-woo .wc-block-components-button{
  background:var(--sage);color:var(--ground);border:0;border-radius:0;padding:0 1.6rem;height:48px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:.875rem;font-weight:500;letter-spacing:-.01em;text-transform:none;transition:background-color .2s,transform .15s;cursor:pointer}
.rfs-woo .button:hover,.rfs-woo a.button:hover,.rfs-woo button.button:hover{background:var(--snow);color:var(--ground)}
.rfs-woo .button:active{transform:scale(.98)}
.rfs-woo .button.alt,.rfs-woo .checkout-button{background:var(--sage)}
.rfs-woo .added_to_cart{display:inline-flex;align-items:center;height:48px;margin-left:1rem;font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sage)}

/* product grid */
.rfs-woo ul.products{display:grid;gap:1px;background:var(--line);margin:0;padding:0;list-style:none}
@media(min-width:640px){.rfs-woo ul.products{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.rfs-woo ul.products{grid-template-columns:repeat(3,1fr)}}
.rfs-woo ul.products li.product{background:var(--ground);margin:0!important;padding:0;width:auto!important;float:none!important;text-align:left}
.rfs-woo ul.products li.product a img{margin:0;aspect-ratio:1;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.rfs-woo ul.products li.product .woocommerce-loop-product__title{padding:1.5rem 1.5rem 0;font-size:1rem;line-height:1.35}
.rfs-woo ul.products li.product .price{display:block;padding:.5rem 1.5rem 0;font-size:.875rem}
.rfs-woo ul.products li.product .button{margin:1.25rem 1.5rem 1.75rem}
.rfs-woo ul.products li.product .onsale{background:var(--sage);color:var(--ground);border-radius:0;font-family:var(--tech);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .6rem;min-height:0;min-width:0;line-height:1;top:0;right:0;left:auto;margin:0}

/* single product */
.rfs-woo .single-product div.product{display:grid;gap:2.5rem}
@media(min-width:900px){.rfs-woo .single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:start}}
.rfs-woo .single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0}
.rfs-woo .single-product div.product .entry-summary{width:100%!important;float:none!important;margin:0}
.rfs-woo .single-product div.product .product_title{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.04em}
.rfs-woo .single-product div.product .price{font-size:1.75rem;margin-top:1rem;display:block}
.rfs-woo .woocommerce-product-details__short-description{margin-top:1.5rem;color:var(--muted);line-height:1.7;max-width:60ch}
.rfs-woo .single-product form.cart{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.rfs-woo .single-product form.variations_form{display:block}
.rfs-woo table.variations{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.rfs-woo table.variations td{padding:.5rem 0;border:0}
.rfs-woo table.variations th.label{padding:.5rem 1rem .5rem 0;border:0;text-align:left;vertical-align:middle}
.rfs-woo .reset_variations{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.rfs-woo .quantity input.qty{width:5rem;height:48px;text-align:center}
.rfs-woo .single-product .product_meta{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.rfs-woo .single-product .product_meta a{color:var(--muted)}
.rfs-woo .single-product .product_meta a:hover{color:var(--sage)}
.rfs-woo .woocommerce-tabs{grid-column:1/-1;margin-top:4rem;border-top:1px solid var(--line);padding-top:2.5rem}
.rfs-woo .woocommerce-tabs ul.tabs{margin:0 0 2rem;padding:0;display:flex;flex-wrap:wrap;gap:2rem;list-style:none}
.rfs-woo .woocommerce-tabs ul.tabs::before,.rfs-woo .woocommerce-tabs ul.tabs::after,.rfs-woo .woocommerce-tabs ul.tabs li::before,.rfs-woo .woocommerce-tabs ul.tabs li::after{display:none!important}
.rfs-woo .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.rfs-woo .woocommerce-tabs ul.tabs li a{padding:0 0 .5rem;font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);border-bottom:1px solid transparent}
.rfs-woo .woocommerce-tabs ul.tabs li.active a{color:var(--snow);border-bottom-color:var(--sage)}
.rfs-woo .woocommerce-tabs .panel{color:var(--muted);line-height:1.7;max-width:70ch}
.rfs-woo .woocommerce-tabs .panel h2{display:none}
.rfs-woo .related.products,.rfs-woo .upsells.products{grid-column:1/-1;margin-top:4rem;border-top:1px solid var(--line);padding-top:3rem}
.rfs-woo .related.products>h2,.rfs-woo .upsells.products>h2{font-size:1.5rem;margin-bottom:2rem}

/* cart */
.rfs-woo table.shop_table{width:100%;border-collapse:collapse;border:0;border-radius:0;margin:0}
.rfs-woo table.shop_table th{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:400;text-align:left;padding:0 1rem 1rem 0;border-bottom:1px solid var(--line)}
.rfs-woo table.shop_table td{padding:1.5rem 1rem 1.5rem 0;border-bottom:1px solid var(--line);vertical-align:middle}
.rfs-woo table.shop_table img{width:72px;height:72px;object-fit:cover}
.rfs-woo .cart_item .product-name a{font-size:1rem}
.rfs-woo a.remove{color:var(--muted)!important;font-size:1.25rem;line-height:1;background:none!important;border:1px solid var(--line);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:0}
.rfs-woo a.remove:hover{color:var(--ground)!important;background:var(--sage)!important;border-color:var(--sage)}
.rfs-woo .cart-collaterals,.rfs-woo .cart_totals{width:100%!important;float:none!important}
.rfs-woo .cart-collaterals{margin-top:3rem;display:grid;gap:2rem}
@media(min-width:900px){.rfs-woo .cart-collaterals{grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:start}}
.rfs-woo .cart_totals{border:1px solid var(--line);padding:2rem}
.rfs-woo .cart_totals h2{font-size:1.25rem;margin-bottom:1.5rem}
.rfs-woo .cart_totals table th{border-bottom:1px solid var(--line);padding-block:1rem}
.rfs-woo .cart_totals table td{border-bottom:1px solid var(--line);padding-block:1rem;text-align:right}
.rfs-woo .wc-proceed-to-checkout{padding-top:1.75rem}
.rfs-woo .wc-proceed-to-checkout .button{width:100%}
.rfs-woo .coupon{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.rfs-woo .coupon input{min-width:12rem}

/* account */
.rfs-woo .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;display:grid;gap:1px;background:var(--line)}
.rfs-woo .woocommerce-MyAccount-navigation li{background:var(--ground)}
.rfs-woo .woocommerce-MyAccount-navigation li a{display:block;padding:.9rem 1.1rem;font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.rfs-woo .woocommerce-MyAccount-navigation li.is-active a,.rfs-woo .woocommerce-MyAccount-navigation li a:hover{color:var(--sage);background:var(--surface)}
.rfs-woo .woocommerce-MyAccount-content{color:var(--muted);line-height:1.7}
@media(min-width:900px){.rfs-woo .woocommerce-account .woocommerce{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:3rem;align-items:start}.rfs-woo .woocommerce-MyAccount-navigation,.rfs-woo .woocommerce-MyAccount-content{width:auto!important;float:none!important}}

/* notices */
.rfs-woo .woocommerce-message,.rfs-woo .woocommerce-info,.rfs-woo .woocommerce-error,.rfs-woo .woocommerce-notice{
  background:var(--surface);border:0;border-left:2px solid var(--sage);border-radius:0;color:var(--snow);padding:1.1rem 1.4rem;margin-bottom:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;list-style:none}
.rfs-woo .woocommerce-error{border-left-color:var(--snow)}
.rfs-woo .woocommerce-message::before,.rfs-woo .woocommerce-info::before,.rfs-woo .woocommerce-error::before{display:none}
.rfs-woo .woocommerce-message .button,.rfs-woo .woocommerce-info .button{margin-left:auto;height:40px}

/* gallery + misc resets that leak from the old theme */
.rfs-woo .woocommerce-product-gallery__trigger{display:none}
.rfs-woo .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem;padding:0;list-style:none}
.rfs-woo .flex-control-thumbs li{width:auto;margin:0;float:none}
.rfs-woo .star-rating span{color:var(--sage)}
.rfs-woo .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- hard overrides. WooCommerce ships the gallery at inline opacity:0 and
   waits for flexslider, which this theme never enqueues. Scope everything to
   body.rfs-woo so it wins without depending on a .woocommerce ancestor. ---- */
body.rfs-woo .woocommerce-product-gallery{opacity:1!important;width:100%!important;float:none!important;margin:0!important}
body.rfs-woo .woocommerce-product-gallery__wrapper{display:grid;gap:1px;background:var(--line);margin:0;padding:0;list-style:none}
@media(min-width:520px){body.rfs-woo .woocommerce-product-gallery--columns-3 .woocommerce-product-gallery__wrapper,
body.rfs-woo .woocommerce-product-gallery--columns-4 .woocommerce-product-gallery__wrapper{grid-template-columns:repeat(2,1fr)}}
body.rfs-woo .woocommerce-product-gallery__image{margin:0;background:var(--ground)}
body.rfs-woo .woocommerce-product-gallery__image a{display:block}
body.rfs-woo .woocommerce-product-gallery__image img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover;box-shadow:none;margin:0}
body.rfs-woo .woocommerce-product-gallery__trigger,
body.rfs-woo .flex-control-thumbs{display:none!important}

body.rfs-woo p.price,body.rfs-woo span.price,body.rfs-woo .price,
body.rfs-woo .woocommerce-Price-amount,body.rfs-woo .woocommerce-variation-price{color:var(--sage)!important}
body.rfs-woo del,body.rfs-woo del .woocommerce-Price-amount{color:var(--muted)!important;opacity:.65}
body.rfs-woo .product_title,body.rfs-woo h1,body.rfs-woo h2,body.rfs-woo h3,
body.rfs-woo .woocommerce-loop-product__title{color:var(--snow)!important}
body.rfs-woo p,body.rfs-woo li,body.rfs-woo td,body.rfs-woo dd,body.rfs-woo span{color:inherit}
body.rfs-woo .woocommerce-product-details__short-description,
body.rfs-woo .woocommerce-product-details__short-description p,
body.rfs-woo .woocommerce-tabs .panel,
body.rfs-woo .woocommerce-tabs .panel p,
body.rfs-woo .woocommerce-tabs .panel li{color:var(--muted)!important}

body.rfs-woo table.variations{width:100%;border-collapse:collapse;margin:1.5rem 0}
body.rfs-woo table.variations tr{display:grid;gap:.5rem;margin-bottom:1.25rem}
body.rfs-woo table.variations th,body.rfs-woo table.variations td{border:0;padding:0;text-align:left;width:auto}
body.rfs-woo table.variations th.label label{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)!important;margin:0}
body.rfs-woo table.variations select{width:100%;max-width:22rem;height:48px;background:var(--ground);border:1px solid var(--line);color:var(--snow)!important;border-radius:0;padding:0 .9rem;font-family:var(--display);font-size:1rem}
body.rfs-woo select option{background:#0f1719;color:#ecefed}
body.rfs-woo .single_variation_wrap{margin-top:1rem}
body.rfs-woo .woocommerce-variation-description p{color:var(--muted)!important}
body.rfs-woo .reset_variations{display:inline-block;margin-top:.5rem;font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)!important}
body.rfs-woo .stock{color:var(--sage)!important}
body.rfs-woo .out-of-stock{color:var(--snow)!important}
body.rfs-woo div.product div.summary{width:100%!important;float:none!important;margin:0!important}
body.rfs-woo div.product{overflow:visible}
/* WooCommerce clearfix pseudo-elements become phantom grid cells. */
.rfs-woo ul.products::before,
.rfs-woo ul.products::after{content:none;display:none}

/* hairlines-per-cell: las lineas se dibujan en cada producto, no con el
   fondo del contenedor, para que las celdas sobrantes no se vean grises. */
.rfs-woo ul.products{background:transparent;gap:0}
.rfs-woo ul.products li.product{border-top:1px solid var(--line)}
.rfs-woo ul.products li.product:first-child{border-top:0}
@media(min-width:640px){
  .rfs-woo ul.products li.product{border-left:1px solid var(--line)}
  .rfs-woo ul.products li.product:nth-child(2n+1){border-left:0}
  .rfs-woo ul.products li.product:nth-child(-n+2){border-top:0}
}
@media(min-width:1000px){
  .rfs-woo ul.products li.product:nth-child(2n+1){border-left:1px solid var(--line)}
  .rfs-woo ul.products li.product:nth-child(3n+1){border-left:0}
  .rfs-woo ul.products li.product:nth-child(-n+3){border-top:0}
}

/* buy box for simple products, emitted after the summary */
.rfs-buybox{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);max-width:34rem}
.rfs-buybox .quantity{margin-right:.75rem}
.rfs-buybox form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}

/* booking form */
.rfs-book{max-width:52rem}
.rfs-fs{border:0;padding:0;margin:0 0 3rem}
.rfs-fs legend{font-family:var(--tech);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:0;margin-bottom:1.25rem}
.rfs-picks{display:grid;gap:1px;background:transparent}
.rfs-pick{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.9rem;padding:1.15rem 1.25rem;border:1px solid var(--line);margin-top:-1px;cursor:pointer;transition:border-color .2s,background-color .2s}
.rfs-pick:hover{border-color:var(--sage)}
.rfs-pick:has(input:checked){border-color:var(--sage);background:var(--surface)}
.rfs-pick .t{font-size:1rem;font-weight:500}
.rfs-pick .d{grid-column:2;color:var(--muted);font-size:.875rem}
.rfs-pick .p{grid-row:1;grid-column:3;font-family:var(--tech);color:var(--sage);white-space:nowrap}
.rfs-pick .p small{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.rfs-2col{display:grid;gap:1.25rem}
@media(min-width:640px){.rfs-2col{grid-template-columns:repeat(2,1fr)}}
.rfs-book label{display:block;font-size:.875rem;color:var(--muted)}
.rfs-book label span{color:var(--sage)}
.rfs-book .rfs-wide{grid-column:1/-1;margin-top:1.25rem}
.rfs-book input,.rfs-book select,.rfs-book textarea{display:block;width:100%;margin-top:.5rem;background:var(--ground);border:1px solid var(--line);color:var(--snow);padding:.75rem .9rem;font-family:var(--display);font-size:1rem;border-radius:0}
.rfs-book input:focus,.rfs-book select:focus,.rfs-book textarea:focus{outline:0;border-color:var(--sage)}
.rfs-book .rfs-pick input{width:auto;margin:0;display:inline-block}
.rfs-submit{margin-top:2.5rem}
.rfs-fine{margin-top:1.25rem;color:var(--muted);font-size:.8rem;max-width:44ch}
.rfs-alert{margin-top:1.25rem;border-left:2px solid var(--sage);padding:.9rem 1.1rem;background:var(--surface)}
