/*
Theme Name: Seraphisse
Theme URI: https://seraphisse.com
Description: Custom WooCommerce storefront for Seraphisse — ported pixel-for-pixel from the brand prototype. Poppins/Jost, coral accents, drawer cart + menu.
Author: Seraphisse
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: seraphisse
WC requires at least: 8.0
WC tested up to: 9.9
*/

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#FFFFFF;font-family:'Jost',sans-serif;color:#000;font-size:18px;overflow-x:hidden;}
img{max-width:100%;}
a{color:inherit;}
::selection{background:#2a2b2f;color:#FFFFFF;}
input::placeholder{color:#9A9AA0;}

/* hover helpers (prototype style-hover -> CSS) */
.srf-h-coral{transition:color .2s ease;}
.srf-h-coral:hover{color:#ED5358 !important;}
.srf-btn-dark{transition:all .2s ease;}
.srf-btn-dark:hover{background:#000 !important;}
.srf-btn-light:hover{background:#F0F0F2 !important;}
.srf-add:hover{background:#282B2E !important;color:#FFFFFF !important;}

/* FAQ accordion */
.srf-faq-body{overflow:hidden;transition:max-height .35s ease,opacity .3s ease;max-height:0;opacity:0;}
.srf-faq.open .srf-faq-body{max-height:360px;opacity:1;}
.srf-faq .srf-faq-icon{transition:transform .25s ease;}
.srf-faq.open .srf-faq-icon{transform:rotate(45deg);}

/* drawers */
.srf-backdrop{position:fixed;inset:0;z-index:60;background:rgba(20,21,24,0.4);transition:opacity .35s ease;opacity:0;pointer-events:none;}
.srf-backdrop.open{opacity:1;pointer-events:auto;}
.srf-menu{position:fixed;top:0;left:0;bottom:0;z-index:61;width:min(360px,85vw);background:#FFFFFF;display:flex;flex-direction:column;box-shadow:20px 0 60px rgba(20,21,24,0.18);transition:transform .4s cubic-bezier(0.22,1,0.36,1);transform:translateX(-101%);}
.srf-menu.open{transform:translateX(0);}
.srf-cart{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(420px,90vw);background:#FFFFFF;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(20,21,24,0.18);transition:transform .4s cubic-bezier(0.22,1,0.36,1);transform:translateX(101%);}
.srf-cart.open{transform:translateX(0);}

/* responsive (ported from prototype) */
@media (max-width:1024px){
  .srf-pad{padding-top:88px !important;padding-bottom:88px !important;}
  .srf-bestsellers{grid-template-columns:repeat(3,1fr) !important;}
}
@media (max-width:768px){
  .srf-announce{font-size:14px !important;letter-spacing:0.01em !important;padding-left:8px !important;padding-right:8px !important;}
  .srf-label{display:none !important;}
  .srf-header-inner{padding-left:20px !important;padding-right:20px !important;gap:12px !important;}
  .srf-bestsellers{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}
  .srf-usp{grid-template-columns:1fr !important;gap:0 !important;}
  .srf-usp > div{border-left:none !important;border-right:none !important;border-bottom:1px solid #E4E4E7 !important;justify-content:center !important;padding:20px 6px !important;}
  .srf-usp > div:last-child{border-bottom:none !important;}
  .srf-pad{padding-top:64px !important;padding-bottom:64px !important;padding-left:22px !important;padding-right:22px !important;}
  .srf-hero{min-height:62vh !important;}
  .srf-hero-inner{padding-left:22px !important;padding-right:22px !important;}
  .srf-footer-inner{padding-left:24px !important;padding-right:24px !important;gap:36px !important;}
  .srf-reviews{display:flex !important;grid-template-columns:none !important;overflow-x:auto;gap:16px !important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px;}
  .srf-review-card{flex:0 0 80% !important;scroll-snap-align:start;}
}
@media (max-width:520px){
  .srf-bestsellers{grid-template-columns:repeat(2,1fr) !important;}
}

/* ---- product page (ported from Product.dc.html) ---- */
.srf-pulse-dot{width:9px;height:9px;border-radius:50%;background:#ec9445;display:inline-block;flex-shrink:0;animation:srfPulse 1.5s ease-out infinite;}
@keyframes srfPulse{0%{box-shadow:0 0 0 0 rgba(236,148,69,0.5);}70%{box-shadow:0 0 0 7px rgba(236,148,69,0);}100%{box-shadow:0 0 0 0 rgba(236,148,69,0);}}
@media (max-width:860px){
  .srf-pdp{flex-direction:column !important;gap:36px !important;}
  .srf-pdp-gallery,.srf-pdp-info{position:static !important;flex:1 1 auto !important;width:100% !important;}
}
/* legal pages (Privacy / Terms) */
.srf-legal-body h2{font-family:'Poppins',sans-serif;font-weight:500;font-size:22px;margin:0 0 14px;letter-spacing:-0.01em;color:#000;}
.srf-legal-body p{font-size:16px;line-height:1.8;font-weight:300;color:#3A3833;margin-bottom:36px;}
.srf-legal-body p:last-child{margin-bottom:0;}
.srf-legal-body a{color:#ED5358;text-decoration:none;}
.srf-legal-body a:hover{text-decoration:underline;}

/* contact page (ported from Contact.dc.html) */
input::placeholder,textarea::placeholder{color:#A8A29A;}
@media (max-width:860px){
  .srf-contact{flex-direction:column !important;gap:40px !important;}
  .srf-contact > div{flex:1 1 auto !important;width:100% !important;}
}

/* collection grid (ported from Collection.dc.html) */
@media (max-width:1024px){ .srf-grid{grid-template-columns:repeat(3,1fr) !important;} }
@media (max-width:768px){ .srf-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;} }

@media (max-width:768px){
  .srf-related{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}
  .srf-feat{grid-template-columns:1fr !important;}
  .srf-wrap{padding-left:22px !important;padding-right:22px !important;}
  .srf-founder{flex-direction:column !important;gap:32px !important;}
  .srf-ship-row{flex-direction:column !important;flex-wrap:nowrap !important;gap:12px !important;align-items:flex-start !important;}
  .srf-ship-item{align-items:center !important;}
}
