/*
Theme Name: Sober – Rare Camel
Template: sober
Description: Rare Camel storefront: minimal premium design with a custom homepage, shop header, product page details and footer.
Version: 2.0.1
Text Domain: sober-rarecamel
*/

:root{
  --rc-ink:#111111; --rc-ink-2:#3a3a3a; --rc-muted:#757575; --rc-line:#e7e5e1;
  --rc-soft:#f5f4f1; --rc-bg:#ffffff; --rc-sale:#b3261e;
  --rc-wrap:calc(1140px + 2 * var(--rc-gutter)); --rc-gutter:24px;
  --rc-font:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (max-width:767px){ :root{ --rc-gutter:16px; } }

/* ---------- Base ---------- */
body, button, input, select, textarea, h1,h2,h3,h4,h5,h6,
.woocommerce, .woocommerce-page, .site-header, .site-footer{
  font-family:var(--rc-font) !important; color:var(--rc-ink);
}
body{background:var(--rc-bg); -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-weight:500; letter-spacing:-.01em;}
a{color:var(--rc-ink);}
#page{overflow-x:clip;}

/* ---------- Announcement ---------- */
.rc-announce{background:var(--rc-ink); color:#fff; text-align:center; font-size:12px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; padding:10px var(--rc-gutter); line-height:1.4;}
.rc-announce a{color:#fff; text-decoration:none;}

/* ---------- Header ---------- */
.site-header{background:#fff !important; border-bottom:1px solid var(--rc-line);}
.site-header .logo-text, .site-header .logo{font-size:19px !important; font-weight:600 !important;
  letter-spacing:.26em !important; text-transform:uppercase; color:var(--rc-ink) !important;}
.site-header .site-title, .site-header .site-description{position:absolute !important; clip:rect(1px,1px,1px,1px); height:1px; width:1px; overflow:hidden;}
.site-header .main-navigation a, .site-header .nav-menu > li > a{font-size:13px !important; font-weight:500 !important;
  letter-spacing:.08em !important; text-transform:uppercase; color:var(--rc-ink) !important;}
.site-header .currency, .site-header .currency.list-dropdown, .currency.list-dropdown{display:none !important;}

/* ---------- Buttons ---------- */
.rc-btn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 30px;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none !important;
  border:1px solid var(--rc-ink); transition:background .2s, color .2s; border-radius:0;}
.rc-btn--dark{background:var(--rc-ink); color:#fff !important;}
.rc-btn--dark:hover{background:#2b2b2b;}
.rc-btn--ghost{background:transparent; color:var(--rc-ink) !important;}
.rc-btn--ghost:hover{background:var(--rc-ink); color:#fff !important;}
.rc-link{font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  border-bottom:1px solid currentColor; padding-bottom:2px; white-space:nowrap;}
.rc-eyebrow{font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--rc-ink-2); margin:0 0 14px;}

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.single_add_to_cart_button, .woocommerce a.button.alt, .woocommerce button.button.alt{
  border-radius:0 !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important; font-size:12px !important;}
.single-product .single_add_to_cart_button, .woocommerce a.button.alt, .woocommerce button.button.alt{background:var(--rc-ink) !important; color:#fff !important;}

/* ---------- Homepage ---------- */
.rc-front .site-content{padding-top:0 !important; padding-bottom:0 !important;}
.rc-front .page-header{display:none !important;}
.rc-home{width:100%;}
.rc-hero, .rc-story{width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);}

.rc-hero{position:relative; min-height:clamp(480px, 74vh, 780px); display:flex; align-items:center;
  background:var(--rc-soft) var(--rc-hero) center/cover no-repeat;}
.rc-hero::before{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.7) 38%, rgba(255,255,255,0) 68%);}
.rc-hero__inner{position:relative; width:100%; max-width:var(--rc-wrap); margin:0 auto; padding:64px var(--rc-gutter);}
.rc-hero__inner > *{max-width:520px;}
.rc-hero__title{font-size:clamp(40px, 6vw, 78px) !important; line-height:1.02 !important; font-weight:500 !important;
  letter-spacing:-.025em !important; margin:0 0 20px !important; color:var(--rc-ink) !important;}
.rc-hero__lead{font-size:17px; line-height:1.6; color:var(--rc-ink-2); margin:0 0 32px;}
.rc-hero__ctas{display:flex; gap:12px; flex-wrap:wrap;}
@media (max-width:767px){
  .rc-hero{min-height:560px; align-items:flex-end; background-position:70% center;}
  .rc-hero::before{background:linear-gradient(0deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.82) 45%, rgba(255,255,255,0) 78%);}
  .rc-hero__inner{padding:40px var(--rc-gutter);}
  .rc-hero__lead{font-size:15px; margin-bottom:24px;}
  .rc-hero__ctas .rc-btn{flex:1 1 auto;}
}

.rc-section{margin:88px 0 0; padding:0;}
.rc-section__head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:28px;}
.rc-h2{font-size:clamp(22px, 2.4vw, 30px) !important; font-weight:500 !important; margin:0 !important; letter-spacing:-.015em !important;}
@media (max-width:767px){ .rc-section{margin-top:56px;} .rc-section__head{margin-bottom:18px;} }

.rc-cats__grid{display:grid; gap:20px; grid-template-columns:repeat(3, minmax(0,1fr));}
.rc-cats__grid--4{grid-template-columns:repeat(4, minmax(0,1fr));}
.rc-cats__grid--2{grid-template-columns:repeat(2, minmax(0,1fr));}
.rc-cat{display:block; text-decoration:none !important; color:var(--rc-ink);}
.rc-cat__img{display:block; aspect-ratio:4/5; overflow:hidden; background:var(--rc-soft);}
.rc-cat__img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.rc-cat:hover .rc-cat__img img{transform:scale(1.04);}
.rc-cat__meta{display:flex; justify-content:space-between; align-items:baseline; padding-top:14px;}
.rc-cat__name{font-size:16px; font-weight:500;}
.rc-cat__count{font-size:13px; color:var(--rc-muted);}
@media (max-width:767px){
  .rc-cats__grid, .rc-cats__grid--4{grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:72%;
    overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-right:calc(var(--rc-gutter) * -1); padding-right:var(--rc-gutter); scrollbar-width:none;}
  .rc-cats__grid::-webkit-scrollbar{display:none;}
  .rc-cat{scroll-snap-align:start;}
}

.rc-products .woocommerce{margin:0;}

.rc-story{background:var(--rc-soft); margin-top:96px; padding:96px var(--rc-gutter); text-align:center;}
.rc-story__inner{max-width:760px; margin:0 auto;}
.rc-story__text{font-size:clamp(20px, 2.4vw, 28px); line-height:1.5; font-weight:400; letter-spacing:-.01em; margin:0 0 32px; color:var(--rc-ink);}
@media (max-width:767px){ .rc-story{margin-top:64px; padding:64px var(--rc-gutter);} }

.rc-usps{margin:88px 0 0; padding:0;}
.rc-usps ul{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); list-style:none; margin:0; padding:0;
  border-top:1px solid var(--rc-line); border-bottom:1px solid var(--rc-line);}
.rc-usps li{padding:28px 16px; text-align:center; font-size:14px; font-weight:500; letter-spacing:.02em;}
.rc-usps li + li{border-left:1px solid var(--rc-line);}
@media (max-width:767px){ .rc-usps ul{grid-template-columns:1fr;} .rc-usps li + li{border-left:0; border-top:1px solid var(--rc-line);} .rc-usps li{padding:18px 8px;} }

/* ---------- Shop & category pages ---------- */
.rc-archive .page-header{display:none !important;}
.rc-shop-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; padding:44px 0 4px;}
.rc-shop-head__title{font-size:clamp(28px, 3.4vw, 40px) !important; font-weight:500 !important; margin:0 !important; letter-spacing:-.02em !important;}
.rc-shop-head__count{margin:6px 0 0; font-size:14px; color:var(--rc-muted);}
.rc-shop-head__desc{max-width:520px; color:var(--rc-ink-2); font-size:15px;}
.rc-chips{display:flex; gap:8px; overflow-x:auto; padding:20px 0 28px; scrollbar-width:none;}
.rc-chips::-webkit-scrollbar{display:none;}
.rc-chips a{flex:none; border:1px solid var(--rc-line); padding:9px 18px; font-size:13px; font-weight:500;
  color:var(--rc-ink); text-decoration:none; white-space:nowrap; background:#fff; border-radius:999px; transition:border-color .2s;}
.rc-chips a:hover{border-color:var(--rc-ink);}
.rc-chips a.is-active{border-color:var(--rc-ink); background:var(--rc-ink); color:#fff;}

/* ---------- Product grid ---------- */
.woocommerce ul.products, ul.products{display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:40px 20px; margin:0 !important; padding:0 !important;}
.woocommerce ul.products::before, .woocommerce ul.products::after{display:none !important;}
.woocommerce ul.products li.product, ul.products li.product{width:auto !important; max-width:none !important;
  margin:0 !important; padding:0 !important; float:none !important; clear:none !important; text-align:left !important; position:relative;}
@media (max-width:1024px){ .woocommerce ul.products, ul.products{grid-template-columns:repeat(3, minmax(0,1fr));} }
@media (max-width:767px){ .woocommerce ul.products, ul.products{grid-template-columns:repeat(2, minmax(0,1fr)); gap:28px 12px;} }

ul.products li.product img{aspect-ratio:5/7 !important; width:100% !important; height:auto !important;
  object-fit:cover !important; object-position:center top; background:var(--rc-soft); margin:0 0 14px !important; border-radius:0 !important;}

.woocommerce-badges, .ribbons{position:absolute !important; top:12px !important; left:12px !important; right:auto !important;
  display:flex !important; flex-direction:column; align-items:flex-start; gap:6px; z-index:3;}
.woocommerce-badges .woocommerce-badge, .ribbons .ribbon, ul.products li.product .onsale, .woocommerce span.onsale{
  position:static !important; min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important;
  border-radius:0 !important; padding:4px 8px !important; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.06em !important; line-height:1.3 !important; margin:0 !important; transform:none !important; text-transform:uppercase;}
.woocommerce-badges .onsale, .ribbons .onsale, span.onsale{background:var(--rc-sale) !important; color:#fff !important; order:1;}
.woocommerce-badges .onsale:not(:empty)::before{content:"-";}
.woocommerce-badges .newness, .ribbons .newness{background:#fff !important; color:var(--rc-ink) !important; order:2;}
.woocommerce-badges .featured{display:none !important;}

.rc-brand-label{display:block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--rc-muted); margin:0 0 4px;}
ul.products li.product h2, ul.products li.product h3,
ul.products li.product .woocommerce-loop-product__title, ul.products li.product .product-title{
  font-size:14px !important; font-weight:400 !important; line-height:1.45 !important; color:var(--rc-ink) !important;
  margin:0 0 6px !important; padding:0 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  text-transform:none !important; letter-spacing:0 !important;}
ul.products li.product .price{display:flex !important; flex-direction:row; justify-content:flex-start !important;
  align-items:baseline; gap:8px; flex-wrap:wrap; font-size:14px !important; margin:0 !important; text-align:left !important;}
ul.products li.product .price ins{order:1; text-decoration:none; font-weight:600; color:var(--rc-ink); background:none;}
ul.products li.product .price del{order:2; color:var(--rc-muted); opacity:1; font-size:13px; font-weight:400;}
ul.products li.product .price .screen-reader-text{display:none;}
/* Sober sets prices to right-to-left on sale items; keep them left-to-right */
ul.products li.product .price, .woocommerce div.product .price, .price .woocs_price_code{direction:ltr !important; unicode-bidi:normal;}
/* Currency switcher wraps prices in .woocs_price_code: lay that out too */
.price .woocs_price_code{display:inline-flex !important; flex-direction:row; justify-content:flex-start; align-items:baseline; gap:8px; flex-wrap:wrap; margin:0 !important; float:none !important;}
ul.products li.product .price .woocs_price_code{display:flex !important;}
.price .woocs_price_code ins{order:1;} .price .woocs_price_code del{order:2;}
.price .woocs_price_code .screen-reader-text{position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden;}
ul.products li.product .price{justify-content:flex-start !important; width:100%;}

/* ---------- Single product ---------- */
.single-product div.product .product_title{font-size:clamp(24px, 2.6vw, 32px) !important; font-weight:500 !important; line-height:1.25 !important; letter-spacing:-.015em !important;}
.single-product div.product p.price{font-size:20px !important; display:flex; gap:10px; align-items:baseline; flex-wrap:wrap;}
.single-product div.product p.price ins{order:1; text-decoration:none; font-weight:600; color:var(--rc-ink);}
.single-product div.product p.price del{order:2; color:var(--rc-muted); font-size:15px;}
.single-product div.product .woocommerce-product-details__short-description{color:var(--rc-ink-2); line-height:1.7;}
.single-product .woocommerce-product-gallery img{border-radius:0 !important;}
.rc-trust{list-style:none; margin:24px 0 8px; padding:0; border-top:1px solid var(--rc-line);}
.rc-trust li{padding:14px 0; border-bottom:1px solid var(--rc-line); font-size:14px; color:var(--rc-ink-2);}

/* ---------- Content pages ---------- */
.page .page-header .page-title, .page-header h1{font-weight:500 !important; letter-spacing:-.02em;}
.rc-contact-page .page-header{display:none !important;}
.rc-page{max-width:1120px; margin:0 auto; padding:56px var(--rc-gutter) 96px;}
.rc-page__title{font-size:clamp(30px, 3.6vw, 44px) !important; font-weight:500 !important; margin:0 0 40px !important; letter-spacing:-.02em !important;}
.rc-contact__grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:64px;}
@media (max-width:767px){ .rc-contact__grid{grid-template-columns:1fr; gap:40px;} }
.rc-dl{margin:0 0 24px;}
.rc-contact__grid:has(.rc-contact__details > .rc-dl:empty):not(:has(.rc-social)){grid-template-columns:1fr; max-width:720px;}
.rc-contact__details:has(> .rc-dl:empty):not(:has(.rc-social)){display:none;}
.rc-dl dt{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--rc-muted); margin:0 0 4px;}
.rc-dl dd{margin:0 0 20px; font-size:16px;}
.rc-contact .wpcf7 input:not([type=submit]), .rc-contact .wpcf7 textarea{width:100%; border:1px solid var(--rc-line); padding:12px 14px; font-size:15px; border-radius:0; background:#fff;}
.rc-contact .wpcf7 input[type=submit]{background:var(--rc-ink); color:#fff; border:0; padding:14px 32px; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; cursor:pointer;}
.rc-social{display:flex; gap:18px; flex-wrap:wrap; margin-top:8px;}
.rc-social a{font-size:13px; font-weight:500; text-decoration:none; border-bottom:1px solid currentColor;}

/* ---------- Footer ---------- */
.rc-footer{background:var(--rc-soft) !important; color:var(--rc-ink); margin-top:96px; padding:0 !important; border:0 !important;}
.rc-footer__inner{max-width:var(--rc-wrap); margin:0 auto; padding:72px var(--rc-gutter) 48px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px;}
.rc-footer__logo{font-size:18px; font-weight:600; letter-spacing:.26em; text-transform:uppercase; text-decoration:none; color:var(--rc-ink);}
.rc-footer__about{margin:16px 0 20px; max-width:360px; color:var(--rc-ink-2); font-size:14px; line-height:1.7;}
.rc-footer h4{font-size:11px !important; font-weight:600 !important; letter-spacing:.14em !important; text-transform:uppercase; margin:0 0 18px !important; color:var(--rc-ink);}
.rc-footer ul{list-style:none; margin:0; padding:0;}
.rc-footer li{margin:0 0 11px; font-size:14px;}
.rc-footer li a{text-decoration:none; color:var(--rc-ink-2);}
.rc-footer li a:hover{color:var(--rc-ink); text-decoration:underline;}
.rc-footer__label{display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--rc-muted);}
.rc-footer__bottom{max-width:var(--rc-wrap); margin:0 auto; padding:20px var(--rc-gutter) 28px; border-top:1px solid var(--rc-line);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--rc-muted);}
.rc-footer__bottom a{color:var(--rc-muted); text-decoration:none;}
@media (max-width:1024px){ .rc-footer__inner{grid-template-columns:1fr 1fr;} }
@media (max-width:767px){ .rc-footer{margin-top:64px;} .rc-footer__inner{grid-template-columns:1fr 1fr; gap:32px 20px; padding-top:48px;} .rc-footer__brand{grid-column:1 / -1;} }

/* ---------- Admin-only marked spots ---------- */
.rc-todo{display:inline-block; border:1px dashed #b45309; background:#fffbeb; color:#92400e; font-size:12px; font-weight:500;
  letter-spacing:0; text-transform:none; padding:4px 8px; line-height:1.4;}
.rc-todo::before{content:"Only you see this · "; font-weight:600;}
