/* ==========================================================================
   ÓPTICA RENOVATIO - MASTER UNIFIED STYLESHEET (v2.7.0 High Performance)
   100% Native - Zero External CDN Blockers - Compiled Static Tailwind & Local Phosphor Icons
   ========================================================================== */

/* --- 0. PHOSPHOR ICONS LOCAL WEBFONT (Zero External JS/CDN) --- */
@font-face {
  font-family: "Phosphor";
  src: url("./assets/fonts/Phosphor.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.ph {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "Phosphor" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Enable Ligatures ================ */
  letter-spacing: 0;
  -webkit-font-feature-settings: "liga";
  -moz-font-feature-settings: "liga=1";
  -moz-font-feature-settings: "liga";
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  -webkit-font-variant-ligatures: discretionary-ligatures;
  font-variant-ligatures: discretionary-ligatures;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ph.ph-acorn:before {
  content: "\eb9a";
}
.ph.ph-address-book:before {
  content: "\e6f8";
}
.ph.ph-address-book-tabs:before {
  content: "\ee4e";
}
.ph.ph-air-traffic-control:before {
  content: "\ecd8";
}
.ph.ph-airplane:before {
  content: "\e002";
}
.ph.ph-airplane-in-flight:before {
  content: "\e4fe";
}
.ph.ph-airplane-landing:before {
  content: "\e502";
}
.ph.ph-airplane-takeoff:before {
  content: "\e504";
}
.ph.ph-airplane-taxiing:before {
  content: "\e500";
}
.ph.ph-airplane-tilt:before {
  content: "\e5d6";
}
.ph.ph-airplay:before {
  content: "\e004";
}
.ph.ph-alarm:before {
  content: "\e006";
}
.ph.ph-alien:before {
  content: "\e8a6";
}
.ph.ph-align-bottom:before {
  content: "\e506";
}
.ph.ph-align-bottom-simple:before {
  content: "\eb0c";
}
.ph.ph-align-center-horizontal:before {
  content: "\e50a";
}
.ph.ph-align-center-horizontal-simple:before {
  content: "\eb0e";
}
.ph.ph-align-center-vertical:before {
  content: "\e50c";
}
.ph.ph-align-center-vertical-simple:before {
  content: "\eb10";
}
.ph.ph-align-left:before {
  content: "\e50e";
}
.ph.ph-align-left-simple:before {
  content: "\eaee";
}
.ph.ph-align-right:before {
  content: "\e510";
}
.ph.ph-align-right-simple:before {
  content: "\eb12";
}
.ph.ph-align-top:before {
  content: "\e512";
}
.ph.ph-align-top-simple:before {
  content: "\eb14";
}
.ph.ph-amazon-logo:before {
  content: "\e96c";
}
.ph.ph-ambulance:before {
  content: "\e572";
}
.ph.ph-anchor:before {
  content: "\e514";
}
.ph.ph-anchor-simple:before {
  content: "\e5d8";
}
.ph.ph-android-logo:before {
  content: "\e008";
}
.ph.ph-angle:before {
  content: "\e7bc";
}
.ph.ph-angular-logo:before {
  content: "\eb80";
}
.ph.ph-aperture:before {
  content: "\e00a";
}
.ph.ph-app-store-logo:before {
  content: "\e974";
}
.ph.ph-app-window:before {
  content: "\e5da";
}
.ph.ph-apple-logo:before {
  content: "\e516";
}
.ph.ph-apple-podcasts-logo:before {
  content: "\eb96";
}
.ph.ph-approximate-equals:before {
  content: "\edaa";
}
.ph.ph-archive:before {
  content: "\e00c";
}
.ph.ph-armchair:before {
  content: "\e012";
}
.ph.ph-arrow-arc-left:before {
  content: "\e014";
}
.ph.ph-arrow-arc-right:before {
  content: "\e016";
}
.ph.ph-arrow-bend-double-up-left:before {
  content: "\e03a";
}
.ph.ph-arrow-bend-double-up-right:before {
  content: "\e03c";
}
.ph.ph-arrow-bend-down-left:before {
  content: "\e018";
}
.ph.ph-arrow-bend-down-right:before {
  content: "\e01a";
}
.ph.ph-arrow-bend-left-down:before {
  content: "\e01c";
}
.ph.ph-arrow-bend-left-up:before {
  content: "\e01e";
}
.ph.ph-arrow-bend-right-down:before {
  content: "\e020";
}
.ph.ph-arrow-bend-right-up:before {
  content: "\e022";
}
.ph.ph-arrow-bend-up-left:before {
  content: "\e024";
}
.ph.ph-arrow-bend-up-right:before {
  content: "\e026";
}
.ph.ph-arrow-circle-down:before {
  content: "\e028";
}
.ph.ph-arrow-circle-down-left:before {
  content: "\e02a";
}
.ph.ph-arrow-circle-down-right:before {
  content: "\e02c";
}
.ph.ph-arrow-circle-left:before {
  content: "\e05a";
}
.ph.ph-arrow-circle-right:before {
  content: "\e02e";
}
.ph.ph-arrow-circle-up:before {
  content: "\e030";
}
.ph.ph-arrow-circle-up-left:before {
  content: "\e032";
}
.ph.ph-arrow-circle-up-right:before {
  content: "\e034";
}
.ph.ph-arrow-clockwise:before {
  content: "\e036";
}
.ph.ph-arrow-counter-clockwise:before {
  content: "\e038";
}
.ph.ph-arrow-down:before {
  content: "\e03e";
}
.ph.ph-arrow-down-left:before {
  content: "\e040";
}
.ph.ph-arrow-down-right:before {
  content: "\e042";
}
.ph.ph-arrow-elbow-down-left:before {
  content: "\e044";
}
.ph.ph-arrow-elbow-down-right:before {
  content: "\e046";
}
.ph.ph-arrow-elbow-left:before {
  content: "\e048";
}
.ph.ph-arrow-elbow-left-down:before {
  content: "\e04a";
}
.ph.ph-arrow-elbow-left-up:before {
  content: "\e04c";
}
.ph.ph-arrow-elbow-right:before {
  content: "\e04e";
}
.ph.ph-arrow-elbow-right-down:before {
  content: "\e050";
}
.ph.ph-arrow-elbow-right-up:before {
  content: "\e052";
}
.ph.ph-arrow-elbow-up-left:before {
  content: "\e054";
}
.ph.ph-arrow-elbow-up-right:before {
  content: "\e056";
}
.ph.ph-arrow-fat-down:before {
  content: "\e518";
}
.ph.ph-arrow-fat-left:before {
  content: "\e51a";
}
.ph.ph-arrow-fat-line-down:before {
  content: "\e51c";
}
.ph.ph-arrow-fat-line-left:before {
  content: "\e51e";
}
.ph.ph-arrow-fat-line-right:before {
  content: "\e520";
}
.ph.ph-arrow-fat-line-up:before {
  content: "\e522";
}
.ph.ph-arrow-fat-lines-down:before {
  content: "\e524";
}
.ph.ph-arrow-fat-lines-left:before {
  content: "\e526";
}
.ph.ph-arrow-fat-lines-right:before {
  content: "\e528";
}
.ph.ph-arrow-fat-lines-up:before {
  content: "\e52a";
}
.ph.ph-arrow-fat-right:before {
  content: "\e52c";
}
.ph.ph-arrow-fat-up:before {
  content: "\e52e";
}
.ph.ph-arrow-left:before {
  content: "\e058";
}
.ph.ph-arrow-line-down:before {
  content: "\e05c";
}
.ph.ph-arrow-line-down-left:before {
  content: "\e05e";
}
.ph.ph-arrow-line-down-right:before {
  content: "\e060";
}
.ph.ph-arrow-line-left:before {
  content: "\e062";
}
.ph.ph-arrow-line-right:before {
  content: "\e064";
}
.ph.ph-arrow-line-up:before {
  content: "\e066";
}
.ph.ph-arrow-line-up-left:before {
  content: "\e068";
}
.ph.ph-arrow-line-up-right:before {
  content: "\e06a";
}
.ph.ph-arrow-right:before {
  content: "\e06c";
}
.ph.ph-arrow-square-down:before {
  content: "\e06e";
}
.ph.ph-arrow-square-down-left:before {
  content: "\e070";
}
.ph.ph-arrow-square-down-right:before {
  content: "\e072";
}
.ph.ph-arrow-square-in:before {
  content: "\e5dc";
}
.ph.ph-arrow-square-left:before {
  content: "\e074";
}
.ph.ph-arrow-square-out:before {
  content: "\e5de";
}
.ph.ph-arrow-square-right:before {
  content: "\e076";
}
.ph.ph-arrow-square-up:before {
  content: "\e078";
}
.ph.ph-arrow-square-up-left:before {
  content: "\e07a";
}
.ph.ph-arrow-square-up-right:before {
  content: "\e07c";
}
.ph.ph-arrow-u-down-left:before {
  content: "\e07e";
}
.ph.ph-arrow-u-down-right:before {
  content: "\e080";
}
.ph.ph-arrow-u-left-down:before {
  content: "\e082";
}
.ph.ph-arrow-u-left-up:before {
  content: "\e084";
}
.ph.ph-arrow-u-right-down:before {
  content: "\e086";
}
.ph.ph-arrow-u-right-up:before {
  content: "\e088";
}
.ph.ph-arrow-u-up-left:before {
  content: "\e08a";
}
.ph.ph-arrow-u-up-right:before {
  content: "\e08c";
}
.ph.ph-arrow-up:before {
  content: "\e08e";
}
.ph.ph-arrow-up-left:before {
  content: "\e090";
}
.ph.ph-arrow-up-right:before {
  content: "\e092";
}
.ph.ph-arrows-clockwise:before {
  content: "\e094";
}
.ph.ph-arrows-counter-clockwise:before {
  content: "\e096";
}
.ph.ph-arrows-down-up:before {
  content: "\e098";
}
.ph.ph-arrows-horizontal:before {
  content: "\eb06";
}
.ph.ph-arrows-in:before {
  content: "\e09a";
}
.ph.ph-arrows-in-cardinal:before {
  content: "\e09c";
}
.ph.ph-arrows-in-line-horizontal:before {
  content: "\e530";
}
.ph.ph-arrows-in-line-vertical:before {
  content: "\e532";
}
.ph.ph-arrows-in-simple:before {
  content: "\e09e";
}
.ph.ph-arrows-left-right:before {
  content: "\e0a0";
}
.ph.ph-arrows-merge:before {
  content: "\ed3e";
}
.ph.ph-arrows-out:before {
  content: "\e0a2";
}
.ph.ph-arrows-out-cardinal:before {
  content: "\e0a4";
}
.ph.ph-arrows-out-line-horizontal:before {
  content: "\e534";
}
.ph.ph-arrows-out-line-vertical:before {
  content: "\e536";
}
.ph.ph-arrows-out-simple:before {
  content: "\e0a6";
}
.ph.ph-arrows-split:before {
  content: "\ed3c";
}
.ph.ph-arrows-vertical:before {
  content: "\eb04";
}
.ph.ph-article:before {
  content: "\e0a8";
}
.ph.ph-article-medium:before {
  content: "\e5e0";
}
.ph.ph-article-ny-times:before {
  content: "\e5e2";
}
.ph.ph-asclepius:before {
  content: "\ee34";
}
.ph.ph-caduceus:before {
  content: "\ee34";
}
.ph.ph-asterisk:before {
  content: "\e0aa";
}
.ph.ph-asterisk-simple:before {
  content: "\e832";
}
.ph.ph-at:before {
  content: "\e0ac";
}
.ph.ph-atom:before {
  content: "\e5e4";
}
.ph.ph-avocado:before {
  content: "\ee04";
}
.ph.ph-axe:before {
  content: "\e9fc";
}
.ph.ph-baby:before {
  content: "\e774";
}
.ph.ph-baby-carriage:before {
  content: "\e818";
}
.ph.ph-backpack:before {
  content: "\e922";
}
.ph.ph-backspace:before {
  content: "\e0ae";
}
.ph.ph-bag:before {
  content: "\e0b0";
}
.ph.ph-bag-simple:before {
  content: "\e5e6";
}
.ph.ph-balloon:before {
  content: "\e76c";
}
.ph.ph-bandaids:before {
  content: "\e0b2";
}
.ph.ph-bank:before {
  content: "\e0b4";
}
.ph.ph-barbell:before {
  content: "\e0b6";
}
.ph.ph-barcode:before {
  content: "\e0b8";
}
.ph.ph-barn:before {
  content: "\ec72";
}
.ph.ph-barricade:before {
  content: "\e948";
}
.ph.ph-baseball:before {
  content: "\e71a";
}
.ph.ph-baseball-cap:before {
  content: "\ea28";
}
.ph.ph-baseball-helmet:before {
  content: "\ee4a";
}
.ph.ph-basket:before {
  content: "\e964";
}
.ph.ph-basketball:before {
  content: "\e724";
}
.ph.ph-bathtub:before {
  content: "\e81e";
}
.ph.ph-battery-charging:before {
  content: "\e0ba";
}
.ph.ph-battery-charging-vertical:before {
  content: "\e0bc";
}
.ph.ph-battery-empty:before {
  content: "\e0be";
}
.ph.ph-battery-full:before {
  content: "\e0c0";
}
.ph.ph-battery-high:before {
  content: "\e0c2";
}
.ph.ph-battery-low:before {
  content: "\e0c4";
}
.ph.ph-battery-medium:before {
  content: "\e0c6";
}
.ph.ph-battery-plus:before {
  content: "\e808";
}
.ph.ph-battery-plus-vertical:before {
  content: "\ec50";
}
.ph.ph-battery-vertical-empty:before {
  content: "\e7c6";
}
.ph.ph-battery-vertical-full:before {
  content: "\e7c4";
}
.ph.ph-battery-vertical-high:before {
  content: "\e7c2";
}
.ph.ph-battery-vertical-low:before {
  content: "\e7be";
}
.ph.ph-battery-vertical-medium:before {
  content: "\e7c0";
}
.ph.ph-battery-warning:before {
  content: "\e0c8";
}
.ph.ph-battery-warning-vertical:before {
  content: "\e0ca";
}
.ph.ph-beach-ball:before {
  content: "\ed24";
}
.ph.ph-beanie:before {
  content: "\ea2a";
}
.ph.ph-bed:before {
  content: "\e0cc";
}
.ph.ph-beer-bottle:before {
  content: "\e7b0";
}
.ph.ph-beer-stein:before {
  content: "\eb62";
}
.ph.ph-behance-logo:before {
  content: "\e7f4";
}
.ph.ph-bell:before {
  content: "\e0ce";
}
.ph.ph-bell-ringing:before {
  content: "\e5e8";
}
.ph.ph-bell-simple:before {
  content: "\e0d0";
}
.ph.ph-bell-simple-ringing:before {
  content: "\e5ea";
}
.ph.ph-bell-simple-slash:before {
  content: "\e0d2";
}
.ph.ph-bell-simple-z:before {
  content: "\e5ec";
}
.ph.ph-bell-slash:before {
  content: "\e0d4";
}
.ph.ph-bell-z:before {
  content: "\e5ee";
}
.ph.ph-belt:before {
  content: "\ea2c";
}
.ph.ph-bezier-curve:before {
  content: "\eb00";
}
.ph.ph-bicycle:before {
  content: "\e0d6";
}
.ph.ph-binary:before {
  content: "\ee60";
}
.ph.ph-binoculars:before {
  content: "\ea64";
}
.ph.ph-biohazard:before {
  content: "\e9e0";
}
.ph.ph-bird:before {
  content: "\e72c";
}
.ph.ph-blueprint:before {
  content: "\eda0";
}
.ph.ph-bluetooth:before {
  content: "\e0da";
}
.ph.ph-bluetooth-connected:before {
  content: "\e0dc";
}
.ph.ph-bluetooth-slash:before {
  content: "\e0de";
}
.ph.ph-bluetooth-x:before {
  content: "\e0e0";
}
.ph.ph-boat:before {
  content: "\e786";
}
.ph.ph-bomb:before {
  content: "\ee0a";
}
.ph.ph-bone:before {
  content: "\e7f2";
}
.ph.ph-book:before {
  content: "\e0e2";
}
.ph.ph-book-bookmark:before {
  content: "\e0e4";
}
.ph.ph-book-open:before {
  content: "\e0e6";
}
.ph.ph-book-open-text:before {
  content: "\e8f2";
}
.ph.ph-book-open-user:before {
  content: "\ede0";
}
.ph.ph-bookmark:before {
  content: "\e0e8";
}
.ph.ph-bookmark-simple:before {
  content: "\e0ea";
}
.ph.ph-bookmarks:before {
  content: "\e0ec";
}
.ph.ph-bookmarks-simple:before {
  content: "\e5f0";
}
.ph.ph-books:before {
  content: "\e758";
}
.ph.ph-boot:before {
  content: "\ecca";
}
.ph.ph-boules:before {
  content: "\e722";
}
.ph.ph-bounding-box:before {
  content: "\e6ce";
}
.ph.ph-bowl-food:before {
  content: "\eaa4";
}
.ph.ph-bowl-steam:before {
  content: "\e8e4";
}
.ph.ph-bowling-ball:before {
  content: "\ea34";
}
.ph.ph-box-arrow-down:before {
  content: "\e00e";
}
.ph.ph-archive-box:before {
  content: "\e00e";
}
.ph.ph-box-arrow-up:before {
  content: "\ee54";
}
.ph.ph-boxing-glove:before {
  content: "\ea36";
}
.ph.ph-brackets-angle:before {
  content: "\e862";
}
.ph.ph-brackets-curly:before {
  content: "\e860";
}
.ph.ph-brackets-round:before {
  content: "\e864";
}
.ph.ph-brackets-square:before {
  content: "\e85e";
}
.ph.ph-brain:before {
  content: "\e74e";
}
.ph.ph-brandy:before {
  content: "\e6b4";
}
.ph.ph-bread:before {
  content: "\e81c";
}
.ph.ph-bridge:before {
  content: "\ea68";
}
.ph.ph-briefcase:before {
  content: "\e0ee";
}
.ph.ph-briefcase-metal:before {
  content: "\e5f2";
}
.ph.ph-broadcast:before {
  content: "\e0f2";
}
.ph.ph-broom:before {
  content: "\ec54";
}
.ph.ph-browser:before {
  content: "\e0f4";
}
.ph.ph-browsers:before {
  content: "\e0f6";
}
.ph.ph-bug:before {
  content: "\e5f4";
}
.ph.ph-bug-beetle:before {
  content: "\e5f6";
}
.ph.ph-bug-droid:before {
  content: "\e5f8";
}
.ph.ph-building:before {
  content: "\e100";
}
.ph.ph-building-apartment:before {
  content: "\e0fe";
}
.ph.ph-building-office:before {
  content: "\e0ff";
}
.ph.ph-buildings:before {
  content: "\e102";
}
.ph.ph-bulldozer:before {
  content: "\ec6c";
}
.ph.ph-bus:before {
  content: "\e106";
}
.ph.ph-butterfly:before {
  content: "\ea6e";
}
.ph.ph-cable-car:before {
  content: "\e49c";
}
.ph.ph-cactus:before {
  content: "\e918";
}
.ph.ph-cake:before {
  content: "\e780";
}
.ph.ph-calculator:before {
  content: "\e538";
}
.ph.ph-calendar:before {
  content: "\e108";
}
.ph.ph-calendar-blank:before {
  content: "\e10a";
}
.ph.ph-calendar-check:before {
  content: "\e712";
}
.ph.ph-calendar-dot:before {
  content: "\e7b2";
}
.ph.ph-calendar-dots:before {
  content: "\e7b4";
}
.ph.ph-calendar-heart:before {
  content: "\e8b0";
}
.ph.ph-calendar-minus:before {
  content: "\ea14";
}
.ph.ph-calendar-plus:before {
  content: "\e714";
}
.ph.ph-calendar-slash:before {
  content: "\ea12";
}
.ph.ph-calendar-star:before {
  content: "\e8b2";
}
.ph.ph-calendar-x:before {
  content: "\e10c";
}
.ph.ph-call-bell:before {
  content: "\e7de";
}
.ph.ph-camera:before {
  content: "\e10e";
}
.ph.ph-camera-plus:before {
  content: "\ec58";
}
.ph.ph-camera-rotate:before {
  content: "\e7a4";
}
.ph.ph-camera-slash:before {
  content: "\e110";
}
.ph.ph-campfire:before {
  content: "\e9d8";
}
.ph.ph-car:before {
  content: "\e112";
}
.ph.ph-car-battery:before {
  content: "\ee30";
}
.ph.ph-car-profile:before {
  content: "\e8cc";
}
.ph.ph-car-simple:before {
  content: "\e114";
}
.ph.ph-cardholder:before {
  content: "\e5fa";
}
.ph.ph-cards:before {
  content: "\e0f8";
}
.ph.ph-cards-three:before {
  content: "\ee50";
}
.ph.ph-caret-circle-double-down:before {
  content: "\e116";
}
.ph.ph-caret-circle-double-left:before {
  content: "\e118";
}
.ph.ph-caret-circle-double-right:before {
  content: "\e11a";
}
.ph.ph-caret-circle-double-up:before {
  content: "\e11c";
}
.ph.ph-caret-circle-down:before {
  content: "\e11e";
}
.ph.ph-caret-circle-left:before {
  content: "\e120";
}
.ph.ph-caret-circle-right:before {
  content: "\e122";
}
.ph.ph-caret-circle-up:before {
  content: "\e124";
}
.ph.ph-caret-circle-up-down:before {
  content: "\e13e";
}
.ph.ph-caret-double-down:before {
  content: "\e126";
}
.ph.ph-caret-double-left:before {
  content: "\e128";
}
.ph.ph-caret-double-right:before {
  content: "\e12a";
}
.ph.ph-caret-double-up:before {
  content: "\e12c";
}
.ph.ph-caret-down:before {
  content: "\e136";
}
.ph.ph-caret-left:before {
  content: "\e138";
}
.ph.ph-caret-line-down:before {
  content: "\e134";
}
.ph.ph-caret-line-left:before {
  content: "\e132";
}
.ph.ph-caret-line-right:before {
  content: "\e130";
}
.ph.ph-caret-line-up:before {
  content: "\e12e";
}
.ph.ph-caret-right:before {
  content: "\e13a";
}
.ph.ph-caret-up:before {
  content: "\e13c";
}
.ph.ph-caret-up-down:before {
  content: "\e140";
}
.ph.ph-carrot:before {
  content: "\ed38";
}
.ph.ph-cash-register:before {
  content: "\ed80";
}
.ph.ph-cassette-tape:before {
  content: "\ed2e";
}
.ph.ph-castle-turret:before {
  content: "\e9d0";
}
.ph.ph-cat:before {
  content: "\e748";
}
.ph.ph-cell-signal-full:before {
  content: "\e142";
}
.ph.ph-cell-signal-high:before {
  content: "\e144";
}
.ph.ph-cell-signal-low:before {
  content: "\e146";
}
.ph.ph-cell-signal-medium:before {
  content: "\e148";
}
.ph.ph-cell-signal-none:before {
  content: "\e14a";
}
.ph.ph-cell-signal-slash:before {
  content: "\e14c";
}
.ph.ph-cell-signal-x:before {
  content: "\e14e";
}
.ph.ph-cell-tower:before {
  content: "\ebaa";
}
.ph.ph-certificate:before {
  content: "\e766";
}
.ph.ph-chair:before {
  content: "\e950";
}
.ph.ph-chalkboard:before {
  content: "\e5fc";
}
.ph.ph-chalkboard-simple:before {
  content: "\e5fe";
}
.ph.ph-chalkboard-teacher:before {
  content: "\e600";
}
.ph.ph-champagne:before {
  content: "\eaca";
}
.ph.ph-charging-station:before {
  content: "\e8d0";
}
.ph.ph-chart-bar:before {
  content: "\e150";
}
.ph.ph-chart-bar-horizontal:before {
  content: "\e152";
}
.ph.ph-chart-donut:before {
  content: "\eaa6";
}
.ph.ph-chart-line:before {
  content: "\e154";
}
.ph.ph-chart-line-down:before {
  content: "\e8b6";
}
.ph.ph-chart-line-up:before {
  content: "\e156";
}
.ph.ph-chart-pie:before {
  content: "\e158";
}
.ph.ph-chart-pie-slice:before {
  content: "\e15a";
}
.ph.ph-chart-polar:before {
  content: "\eaa8";
}
.ph.ph-chart-scatter:before {
  content: "\eaac";
}
.ph.ph-chat:before {
  content: "\e15c";
}
.ph.ph-chat-centered:before {
  content: "\e160";
}
.ph.ph-chat-centered-dots:before {
  content: "\e164";
}
.ph.ph-chat-centered-slash:before {
  content: "\e162";
}
.ph.ph-chat-centered-text:before {
  content: "\e166";
}
.ph.ph-chat-circle:before {
  content: "\e168";
}
.ph.ph-chat-circle-dots:before {
  content: "\e16c";
}
.ph.ph-chat-circle-slash:before {
  content: "\e16a";
}
.ph.ph-chat-circle-text:before {
  content: "\e16e";
}
.ph.ph-chat-dots:before {
  content: "\e170";
}
.ph.ph-chat-slash:before {
  content: "\e15e";
}
.ph.ph-chat-teardrop:before {
  content: "\e172";
}
.ph.ph-chat-teardrop-dots:before {
  content: "\e176";
}
.ph.ph-chat-teardrop-slash:before {
  content: "\e174";
}
.ph.ph-chat-teardrop-text:before {
  content: "\e178";
}
.ph.ph-chat-text:before {
  content: "\e17a";
}
.ph.ph-chats:before {
  content: "\e17c";
}
.ph.ph-chats-circle:before {
  content: "\e17e";
}
.ph.ph-chats-teardrop:before {
  content: "\e180";
}
.ph.ph-check:before {
  content: "\e182";
}
.ph.ph-check-circle:before {
  content: "\e184";
}
.ph.ph-check-fat:before {
  content: "\eba6";
}
.ph.ph-check-square:before {
  content: "\e186";
}
.ph.ph-check-square-offset:before {
  content: "\e188";
}
.ph.ph-checkerboard:before {
  content: "\e8c4";
}
.ph.ph-checks:before {
  content: "\e53a";
}
.ph.ph-cheers:before {
  content: "\ea4a";
}
.ph.ph-cheese:before {
  content: "\e9fe";
}
.ph.ph-chef-hat:before {
  content: "\ed8e";
}
.ph.ph-cherries:before {
  content: "\e830";
}
.ph.ph-church:before {
  content: "\ecea";
}
.ph.ph-cigarette:before {
  content: "\ed90";
}
.ph.ph-cigarette-slash:before {
  content: "\ed92";
}
.ph.ph-circle:before {
  content: "\e18a";
}
.ph.ph-circle-dashed:before {
  content: "\e602";
}
.ph.ph-circle-half:before {
  content: "\e18c";
}
.ph.ph-circle-half-tilt:before {
  content: "\e18e";
}
.ph.ph-circle-notch:before {
  content: "\eb44";
}
.ph.ph-circles-four:before {
  content: "\e190";
}
.ph.ph-circles-three:before {
  content: "\e192";
}
.ph.ph-circles-three-plus:before {
  content: "\e194";
}
.ph.ph-circuitry:before {
  content: "\e9c2";
}
.ph.ph-city:before {
  content: "\ea6a";
}
.ph.ph-clipboard:before {
  content: "\e196";
}
.ph.ph-clipboard-text:before {
  content: "\e198";
}
.ph.ph-clock:before {
  content: "\e19a";
}
.ph.ph-clock-afternoon:before {
  content: "\e19c";
}
.ph.ph-clock-clockwise:before {
  content: "\e19e";
}
.ph.ph-clock-countdown:before {
  content: "\ed2c";
}
.ph.ph-clock-counter-clockwise:before {
  content: "\e1a0";
}
.ph.ph-clock-user:before {
  content: "\edec";
}
.ph.ph-closed-captioning:before {
  content: "\e1a4";
}
.ph.ph-cloud:before {
  content: "\e1aa";
}
.ph.ph-cloud-arrow-down:before {
  content: "\e1ac";
}
.ph.ph-cloud-arrow-up:before {
  content: "\e1ae";
}
.ph.ph-cloud-check:before {
  content: "\e1b0";
}
.ph.ph-cloud-fog:before {
  content: "\e53c";
}
.ph.ph-cloud-lightning:before {
  content: "\e1b2";
}
.ph.ph-cloud-moon:before {
  content: "\e53e";
}
.ph.ph-cloud-rain:before {
  content: "\e1b4";
}
.ph.ph-cloud-slash:before {
  content: "\e1b6";
}
.ph.ph-cloud-snow:before {
  content: "\e1b8";
}
.ph.ph-cloud-sun:before {
  content: "\e540";
}
.ph.ph-cloud-warning:before {
  content: "\ea98";
}
.ph.ph-cloud-x:before {
  content: "\ea96";
}
.ph.ph-clover:before {
  content: "\edc8";
}
.ph.ph-club:before {
  content: "\e1ba";
}
.ph.ph-coat-hanger:before {
  content: "\e7fe";
}
.ph.ph-coda-logo:before {
  content: "\e7ce";
}
.ph.ph-code:before {
  content: "\e1bc";
}
.ph.ph-code-block:before {
  content: "\eafe";
}
.ph.ph-code-simple:before {
  content: "\e1be";
}
.ph.ph-codepen-logo:before {
  content: "\e978";
}
.ph.ph-codesandbox-logo:before {
  content: "\ea06";
}
.ph.ph-coffee:before {
  content: "\e1c2";
}
.ph.ph-coffee-bean:before {
  content: "\e1c0";
}
.ph.ph-coin:before {
  content: "\e60e";
}
.ph.ph-coin-vertical:before {
  content: "\eb48";
}
.ph.ph-coins:before {
  content: "\e78e";
}
.ph.ph-columns:before {
  content: "\e546";
}
.ph.ph-columns-plus-left:before {
  content: "\e544";
}
.ph.ph-columns-plus-right:before {
  content: "\e542";
}
.ph.ph-command:before {
  content: "\e1c4";
}
.ph.ph-compass:before {
  content: "\e1c8";
}
.ph.ph-compass-rose:before {
  content: "\e1c6";
}
.ph.ph-compass-tool:before {
  content: "\ea0e";
}
.ph.ph-computer-tower:before {
  content: "\e548";
}
.ph.ph-confetti:before {
  content: "\e81a";
}
.ph.ph-contactless-payment:before {
  content: "\ed42";
}
.ph.ph-control:before {
  content: "\eca6";
}
.ph.ph-cookie:before {
  content: "\e6ca";
}
.ph.ph-cooking-pot:before {
  content: "\e764";
}
.ph.ph-copy:before {
  content: "\e1ca";
}
.ph.ph-copy-simple:before {
  content: "\e1cc";
}
.ph.ph-copyleft:before {
  content: "\e86a";
}
.ph.ph-copyright:before {
  content: "\e54a";
}
.ph.ph-corners-in:before {
  content: "\e1ce";
}
.ph.ph-corners-out:before {
  content: "\e1d0";
}
.ph.ph-couch:before {
  content: "\e7f6";
}
.ph.ph-court-basketball:before {
  content: "\ee36";
}
.ph.ph-cow:before {
  content: "\eabe";
}
.ph.ph-cowboy-hat:before {
  content: "\ed12";
}
.ph.ph-cpu:before {
  content: "\e610";
}
.ph.ph-crane:before {
  content: "\ed48";
}
.ph.ph-crane-tower:before {
  content: "\ed49";
}
.ph.ph-credit-card:before {
  content: "\e1d2";
}
.ph.ph-cricket:before {
  content: "\ee12";
}
.ph.ph-crop:before {
  content: "\e1d4";
}
.ph.ph-cross:before {
  content: "\e8a0";
}
.ph.ph-crosshair:before {
  content: "\e1d6";
}
.ph.ph-crosshair-simple:before {
  content: "\e1d8";
}
.ph.ph-crown:before {
  content: "\e614";
}
.ph.ph-crown-cross:before {
  content: "\ee5e";
}
.ph.ph-crown-simple:before {
  content: "\e616";
}
.ph.ph-cube:before {
  content: "\e1da";
}
.ph.ph-cube-focus:before {
  content: "\ed0a";
}
.ph.ph-cube-transparent:before {
  content: "\ec7c";
}
.ph.ph-currency-btc:before {
  content: "\e618";
}
.ph.ph-currency-circle-dollar:before {
  content: "\e54c";
}
.ph.ph-currency-cny:before {
  content: "\e54e";
}
.ph.ph-currency-dollar:before {
  content: "\e550";
}
.ph.ph-currency-dollar-simple:before {
  content: "\e552";
}
.ph.ph-currency-eth:before {
  content: "\eada";
}
.ph.ph-currency-eur:before {
  content: "\e554";
}
.ph.ph-currency-gbp:before {
  content: "\e556";
}
.ph.ph-currency-inr:before {
  content: "\e558";
}
.ph.ph-currency-jpy:before {
  content: "\e55a";
}
.ph.ph-currency-krw:before {
  content: "\e55c";
}
.ph.ph-currency-kzt:before {
  content: "\ec4c";
}
.ph.ph-currency-ngn:before {
  content: "\eb52";
}
.ph.ph-currency-rub:before {
  content: "\e55e";
}
.ph.ph-cursor:before {
  content: "\e1dc";
}
.ph.ph-cursor-click:before {
  content: "\e7c8";
}
.ph.ph-cursor-text:before {
  content: "\e7d8";
}
.ph.ph-cylinder:before {
  content: "\e8fc";
}
.ph.ph-database:before {
  content: "\e1de";
}
.ph.ph-desk:before {
  content: "\ed16";
}
.ph.ph-desktop:before {
  content: "\e560";
}
.ph.ph-desktop-tower:before {
  content: "\e562";
}
.ph.ph-detective:before {
  content: "\e83e";
}
.ph.ph-dev-to-logo:before {
  content: "\ed0e";
}
.ph.ph-device-mobile:before {
  content: "\e1e0";
}
.ph.ph-device-mobile-camera:before {
  content: "\e1e2";
}
.ph.ph-device-mobile-slash:before {
  content: "\ee46";
}
.ph.ph-device-mobile-speaker:before {
  content: "\e1e4";
}
.ph.ph-device-rotate:before {
  content: "\edf2";
}
.ph.ph-device-tablet:before {
  content: "\e1e6";
}
.ph.ph-device-tablet-camera:before {
  content: "\e1e8";
}
.ph.ph-device-tablet-speaker:before {
  content: "\e1ea";
}
.ph.ph-devices:before {
  content: "\eba4";
}
.ph.ph-diamond:before {
  content: "\e1ec";
}
.ph.ph-diamonds-four:before {
  content: "\e8f4";
}
.ph.ph-dice-five:before {
  content: "\e1ee";
}
.ph.ph-dice-four:before {
  content: "\e1f0";
}
.ph.ph-dice-one:before {
  content: "\e1f2";
}
.ph.ph-dice-six:before {
  content: "\e1f4";
}
.ph.ph-dice-three:before {
  content: "\e1f6";
}
.ph.ph-dice-two:before {
  content: "\e1f8";
}
.ph.ph-disc:before {
  content: "\e564";
}
.ph.ph-disco-ball:before {
  content: "\ed98";
}
.ph.ph-discord-logo:before {
  content: "\e61a";
}
.ph.ph-divide:before {
  content: "\e1fa";
}
.ph.ph-dna:before {
  content: "\e924";
}
.ph.ph-dog:before {
  content: "\e74a";
}
.ph.ph-door:before {
  content: "\e61c";
}
.ph.ph-door-open:before {
  content: "\e7e6";
}
.ph.ph-dot:before {
  content: "\ecde";
}
.ph.ph-dot-outline:before {
  content: "\ece0";
}
.ph.ph-dots-nine:before {
  content: "\e1fc";
}
.ph.ph-dots-six:before {
  content: "\e794";
}
.ph.ph-dots-six-vertical:before {
  content: "\eae2";
}
.ph.ph-dots-three:before {
  content: "\e1fe";
}
.ph.ph-dots-three-circle:before {
  content: "\e200";
}
.ph.ph-dots-three-circle-vertical:before {
  content: "\e202";
}
.ph.ph-dots-three-outline:before {
  content: "\e204";
}
.ph.ph-dots-three-outline-vertical:before {
  content: "\e206";
}
.ph.ph-dots-three-vertical:before {
  content: "\e208";
}
.ph.ph-download:before {
  content: "\e20a";
}
.ph.ph-download-simple:before {
  content: "\e20c";
}
.ph.ph-dress:before {
  content: "\ea7e";
}
.ph.ph-dresser:before {
  content: "\e94e";
}
.ph.ph-dribbble-logo:before {
  content: "\e20e";
}
.ph.ph-drone:before {
  content: "\ed74";
}
.ph.ph-drop:before {
  content: "\e210";
}
.ph.ph-drop-half:before {
  content: "\e566";
}
.ph.ph-drop-half-bottom:before {
  content: "\eb40";
}
.ph.ph-drop-simple:before {
  content: "\ee32";
}
.ph.ph-drop-slash:before {
  content: "\e954";
}
.ph.ph-dropbox-logo:before {
  content: "\e7d0";
}
.ph.ph-ear:before {
  content: "\e70c";
}
.ph.ph-ear-slash:before {
  content: "\e70e";
}
.ph.ph-egg:before {
  content: "\e812";
}
.ph.ph-egg-crack:before {
  content: "\eb64";
}
.ph.ph-eject:before {
  content: "\e212";
}
.ph.ph-eject-simple:before {
  content: "\e6ae";
}
.ph.ph-elevator:before {
  content: "\ecc0";
}
.ph.ph-empty:before {
  content: "\edbc";
}
.ph.ph-engine:before {
  content: "\ea80";
}
.ph.ph-envelope:before {
  content: "\e214";
}
.ph.ph-envelope-open:before {
  content: "\e216";
}
.ph.ph-envelope-simple:before {
  content: "\e218";
}
.ph.ph-envelope-simple-open:before {
  content: "\e21a";
}
.ph.ph-equalizer:before {
  content: "\ebbc";
}
.ph.ph-equals:before {
  content: "\e21c";
}
.ph.ph-eraser:before {
  content: "\e21e";
}
.ph.ph-escalator-down:before {
  content: "\ecba";
}
.ph.ph-escalator-up:before {
  content: "\ecbc";
}
.ph.ph-exam:before {
  content: "\e742";
}
.ph.ph-exclamation-mark:before {
  content: "\ee44";
}
.ph.ph-exclude:before {
  content: "\e882";
}
.ph.ph-exclude-square:before {
  content: "\e880";
}
.ph.ph-export:before {
  content: "\eaf0";
}
.ph.ph-eye:before {
  content: "\e220";
}
.ph.ph-eye-closed:before {
  content: "\e222";
}
.ph.ph-eye-slash:before {
  content: "\e224";
}
.ph.ph-eyedropper:before {
  content: "\e568";
}
.ph.ph-eyedropper-sample:before {
  content: "\eac4";
}
.ph.ph-eyeglasses:before {
  content: "\e7ba";
}
.ph.ph-eyes:before {
  content: "\ee5c";
}
.ph.ph-face-mask:before {
  content: "\e56a";
}
.ph.ph-facebook-logo:before {
  content: "\e226";
}
.ph.ph-factory:before {
  content: "\e760";
}
.ph.ph-faders:before {
  content: "\e228";
}
.ph.ph-faders-horizontal:before {
  content: "\e22a";
}
.ph.ph-fallout-shelter:before {
  content: "\e9de";
}
.ph.ph-fan:before {
  content: "\e9f2";
}
.ph.ph-farm:before {
  content: "\ec70";
}
.ph.ph-fast-forward:before {
  content: "\e6a6";
}
.ph.ph-fast-forward-circle:before {
  content: "\e22c";
}
.ph.ph-feather:before {
  content: "\e9c0";
}
.ph.ph-fediverse-logo:before {
  content: "\ed66";
}
.ph.ph-figma-logo:before {
  content: "\e22e";
}
.ph.ph-file:before {
  content: "\e230";
}
.ph.ph-file-archive:before {
  content: "\eb2a";
}
.ph.ph-file-arrow-down:before {
  content: "\e232";
}
.ph.ph-file-arrow-up:before {
  content: "\e61e";
}
.ph.ph-file-audio:before {
  content: "\ea20";
}
.ph.ph-file-c:before {
  content: "\eb32";
}
.ph.ph-file-c-sharp:before {
  content: "\eb30";
}
.ph.ph-file-cloud:before {
  content: "\e95e";
}
.ph.ph-file-code:before {
  content: "\e914";
}
.ph.ph-file-cpp:before {
  content: "\eb2e";
}
.ph.ph-file-css:before {
  content: "\eb34";
}
.ph.ph-file-csv:before {
  content: "\eb1c";
}
.ph.ph-file-dashed:before {
  content: "\e704";
}
.ph.ph-file-dotted:before {
  content: "\e704";
}
.ph.ph-file-doc:before {
  content: "\eb1e";
}
.ph.ph-file-html:before {
  content: "\eb38";
}
.ph.ph-file-image:before {
  content: "\ea24";
}
.ph.ph-file-ini:before {
  content: "\eb33";
}
.ph.ph-file-jpg:before {
  content: "\eb1a";
}
.ph.ph-file-js:before {
  content: "\eb24";
}
.ph.ph-file-jsx:before {
  content: "\eb3a";
}
.ph.ph-file-lock:before {
  content: "\e95c";
}
.ph.ph-file-magnifying-glass:before {
  content: "\e238";
}
.ph.ph-file-search:before {
  content: "\e238";
}
.ph.ph-file-md:before {
  content: "\ed50";
}
.ph.ph-file-minus:before {
  content: "\e234";
}
.ph.ph-file-pdf:before {
  content: "\e702";
}
.ph.ph-file-plus:before {
  content: "\e236";
}
.ph.ph-file-png:before {
  content: "\eb18";
}
.ph.ph-file-ppt:before {
  content: "\eb20";
}
.ph.ph-file-py:before {
  content: "\eb2c";
}
.ph.ph-file-rs:before {
  content: "\eb28";
}
.ph.ph-file-sql:before {
  content: "\ed4e";
}
.ph.ph-file-svg:before {
  content: "\ed08";
}
.ph.ph-file-text:before {
  content: "\e23a";
}
.ph.ph-file-ts:before {
  content: "\eb26";
}
.ph.ph-file-tsx:before {
  content: "\eb3c";
}
.ph.ph-file-txt:before {
  content: "\eb35";
}
.ph.ph-file-video:before {
  content: "\ea22";
}
.ph.ph-file-vue:before {
  content: "\eb3e";
}
.ph.ph-file-x:before {
  content: "\e23c";
}
.ph.ph-file-xls:before {
  content: "\eb22";
}
.ph.ph-file-zip:before {
  content: "\e958";
}
.ph.ph-files:before {
  content: "\e710";
}
.ph.ph-film-reel:before {
  content: "\e8c0";
}
.ph.ph-film-script:before {
  content: "\eb50";
}
.ph.ph-film-slate:before {
  content: "\e8c2";
}
.ph.ph-film-strip:before {
  content: "\e792";
}
.ph.ph-fingerprint:before {
  content: "\e23e";
}
.ph.ph-fingerprint-simple:before {
  content: "\e240";
}
.ph.ph-finn-the-human:before {
  content: "\e56c";
}
.ph.ph-fire:before {
  content: "\e242";
}
.ph.ph-fire-extinguisher:before {
  content: "\e9e8";
}
.ph.ph-fire-simple:before {
  content: "\e620";
}
.ph.ph-fire-truck:before {
  content: "\e574";
}
.ph.ph-first-aid:before {
  content: "\e56e";
}
.ph.ph-first-aid-kit:before {
  content: "\e570";
}
.ph.ph-fish:before {
  content: "\e728";
}
.ph.ph-fish-simple:before {
  content: "\e72a";
}
.ph.ph-flag:before {
  content: "\e244";
}
.ph.ph-flag-banner:before {
  content: "\e622";
}
.ph.ph-flag-banner-fold:before {
  content: "\ecf2";
}
.ph.ph-flag-checkered:before {
  content: "\ea38";
}
.ph.ph-flag-pennant:before {
  content: "\ecf0";
}
.ph.ph-flame:before {
  content: "\e624";
}
.ph.ph-flashlight:before {
  content: "\e246";
}
.ph.ph-flask:before {
  content: "\e79e";
}
.ph.ph-flip-horizontal:before {
  content: "\ed6a";
}
.ph.ph-flip-vertical:before {
  content: "\ed6c";
}
.ph.ph-floppy-disk:before {
  content: "\e248";
}
.ph.ph-floppy-disk-back:before {
  content: "\eaf4";
}
.ph.ph-flow-arrow:before {
  content: "\e6ec";
}
.ph.ph-flower:before {
  content: "\e75e";
}
.ph.ph-flower-lotus:before {
  content: "\e6cc";
}
.ph.ph-flower-tulip:before {
  content: "\eacc";
}
.ph.ph-flying-saucer:before {
  content: "\eb4a";
}
.ph.ph-folder:before {
  content: "\e24a";
}
.ph.ph-folder-notch:before {
  content: "\e24a";
}
.ph.ph-folder-dashed:before {
  content: "\e8f8";
}
.ph.ph-folder-dotted:before {
  content: "\e8f8";
}
.ph.ph-folder-lock:before {
  content: "\ea3c";
}
.ph.ph-folder-minus:before {
  content: "\e254";
}
.ph.ph-folder-notch-minus:before {
  content: "\e254";
}
.ph.ph-folder-open:before {
  content: "\e256";
}
.ph.ph-folder-notch-open:before {
  content: "\e256";
}
.ph.ph-folder-plus:before {
  content: "\e258";
}
.ph.ph-folder-notch-plus:before {
  content: "\e258";
}
.ph.ph-folder-simple:before {
  content: "\e25a";
}
.ph.ph-folder-simple-dashed:before {
  content: "\ec2a";
}
.ph.ph-folder-simple-dotted:before {
  content: "\ec2a";
}
.ph.ph-folder-simple-lock:before {
  content: "\eb5e";
}
.ph.ph-folder-simple-minus:before {
  content: "\e25c";
}
.ph.ph-folder-simple-plus:before {
  content: "\e25e";
}
.ph.ph-folder-simple-star:before {
  content: "\ec2e";
}
.ph.ph-folder-simple-user:before {
  content: "\eb60";
}
.ph.ph-folder-star:before {
  content: "\ea86";
}
.ph.ph-folder-user:before {
  content: "\eb46";
}
.ph.ph-folders:before {
  content: "\e260";
}
.ph.ph-football:before {
  content: "\e718";
}
.ph.ph-football-helmet:before {
  content: "\ee4c";
}
.ph.ph-footprints:before {
  content: "\ea88";
}
.ph.ph-fork-knife:before {
  content: "\e262";
}
.ph.ph-four-k:before {
  content: "\ea5c";
}
.ph.ph-frame-corners:before {
  content: "\e626";
}
.ph.ph-framer-logo:before {
  content: "\e264";
}
.ph.ph-function:before {
  content: "\ebe4";
}
.ph.ph-funnel:before {
  content: "\e266";
}
.ph.ph-funnel-simple:before {
  content: "\e268";
}
.ph.ph-funnel-simple-x:before {
  content: "\e26a";
}
.ph.ph-funnel-x:before {
  content: "\e26c";
}
.ph.ph-game-controller:before {
  content: "\e26e";
}
.ph.ph-garage:before {
  content: "\ecd6";
}
.ph.ph-gas-can:before {
  content: "\e8ce";
}
.ph.ph-gas-pump:before {
  content: "\e768";
}
.ph.ph-gauge:before {
  content: "\e628";
}
.ph.ph-gavel:before {
  content: "\ea32";
}
.ph.ph-gear:before {
  content: "\e270";
}
.ph.ph-gear-fine:before {
  content: "\e87c";
}
.ph.ph-gear-six:before {
  content: "\e272";
}
.ph.ph-gender-female:before {
  content: "\e6e0";
}
.ph.ph-gender-intersex:before {
  content: "\e6e6";
}
.ph.ph-gender-male:before {
  content: "\e6e2";
}
.ph.ph-gender-neuter:before {
  content: "\e6ea";
}
.ph.ph-gender-nonbinary:before {
  content: "\e6e4";
}
.ph.ph-gender-transgender:before {
  content: "\e6e8";
}
.ph.ph-ghost:before {
  content: "\e62a";
}
.ph.ph-gif:before {
  content: "\e274";
}
.ph.ph-gift:before {
  content: "\e276";
}
.ph.ph-git-branch:before {
  content: "\e278";
}
.ph.ph-git-commit:before {
  content: "\e27a";
}
.ph.ph-git-diff:before {
  content: "\e27c";
}
.ph.ph-git-fork:before {
  content: "\e27e";
}
.ph.ph-git-merge:before {
  content: "\e280";
}
.ph.ph-git-pull-request:before {
  content: "\e282";
}
.ph.ph-github-logo:before {
  content: "\e576";
}
.ph.ph-gitlab-logo:before {
  content: "\e694";
}
.ph.ph-gitlab-logo-simple:before {
  content: "\e696";
}
.ph.ph-globe:before {
  content: "\e288";
}
.ph.ph-globe-hemisphere-east:before {
  content: "\e28a";
}
.ph.ph-globe-hemisphere-west:before {
  content: "\e28c";
}
.ph.ph-globe-simple:before {
  content: "\e28e";
}
.ph.ph-globe-simple-x:before {
  content: "\e284";
}
.ph.ph-globe-stand:before {
  content: "\e290";
}
.ph.ph-globe-x:before {
  content: "\e286";
}
.ph.ph-goggles:before {
  content: "\ecb4";
}
.ph.ph-golf:before {
  content: "\ea3e";
}
.ph.ph-goodreads-logo:before {
  content: "\ed10";
}
.ph.ph-google-cardboard-logo:before {
  content: "\e7b6";
}
.ph.ph-google-chrome-logo:before {
  content: "\e976";
}
.ph.ph-google-drive-logo:before {
  content: "\e8f6";
}
.ph.ph-google-logo:before {
  content: "\e292";
}
.ph.ph-google-photos-logo:before {
  content: "\eb92";
}
.ph.ph-google-play-logo:before {
  content: "\e294";
}
.ph.ph-google-podcasts-logo:before {
  content: "\eb94";
}
.ph.ph-gps:before {
  content: "\edd8";
}
.ph.ph-gps-fix:before {
  content: "\edd6";
}
.ph.ph-gps-slash:before {
  content: "\edd4";
}
.ph.ph-gradient:before {
  content: "\eb42";
}
.ph.ph-graduation-cap:before {
  content: "\e62c";
}
.ph.ph-grains:before {
  content: "\ec68";
}
.ph.ph-grains-slash:before {
  content: "\ec6a";
}
.ph.ph-graph:before {
  content: "\eb58";
}
.ph.ph-graphics-card:before {
  content: "\e612";
}
.ph.ph-greater-than:before {
  content: "\edc4";
}
.ph.ph-greater-than-or-equal:before {
  content: "\eda2";
}
.ph.ph-grid-four:before {
  content: "\e296";
}
.ph.ph-grid-nine:before {
  content: "\ec8c";
}
.ph.ph-guitar:before {
  content: "\ea8a";
}
.ph.ph-hair-dryer:before {
  content: "\ea66";
}
.ph.ph-hamburger:before {
  content: "\e790";
}
.ph.ph-hammer:before {
  content: "\e80e";
}
.ph.ph-hand:before {
  content: "\e298";
}
.ph.ph-hand-arrow-down:before {
  content: "\ea4e";
}
.ph.ph-hand-arrow-up:before {
  content: "\ee5a";
}
.ph.ph-hand-coins:before {
  content: "\ea8c";
}
.ph.ph-hand-deposit:before {
  content: "\ee82";
}
.ph.ph-hand-eye:before {
  content: "\ea4c";
}
.ph.ph-hand-fist:before {
  content: "\e57a";
}
.ph.ph-hand-grabbing:before {
  content: "\e57c";
}
.ph.ph-hand-heart:before {
  content: "\e810";
}
.ph.ph-hand-palm:before {
  content: "\e57e";
}
.ph.ph-hand-peace:before {
  content: "\e7cc";
}
.ph.ph-hand-pointing:before {
  content: "\e29a";
}
.ph.ph-hand-soap:before {
  content: "\e630";
}
.ph.ph-hand-swipe-left:before {
  content: "\ec94";
}
.ph.ph-hand-swipe-right:before {
  content: "\ec92";
}
.ph.ph-hand-tap:before {
  content: "\ec90";
}
.ph.ph-hand-waving:before {
  content: "\e580";
}
.ph.ph-hand-withdraw:before {
  content: "\ee80";
}
.ph.ph-handbag:before {
  content: "\e29c";
}
.ph.ph-handbag-simple:before {
  content: "\e62e";
}
.ph.ph-hands-clapping:before {
  content: "\e6a0";
}
.ph.ph-hands-praying:before {
  content: "\ecc8";
}
.ph.ph-handshake:before {
  content: "\e582";
}
.ph.ph-hard-drive:before {
  content: "\e29e";
}
.ph.ph-hard-drives:before {
  content: "\e2a0";
}
.ph.ph-hard-hat:before {
  content: "\ed46";
}
.ph.ph-hash:before {
  content: "\e2a2";
}
.ph.ph-hash-straight:before {
  content: "\e2a4";
}
.ph.ph-head-circuit:before {
  content: "\e7d4";
}
.ph.ph-headlights:before {
  content: "\e6fe";
}
.ph.ph-headphones:before {
  content: "\e2a6";
}
.ph.ph-headset:before {
  content: "\e584";
}
.ph.ph-heart:before {
  content: "\e2a8";
}
.ph.ph-heart-break:before {
  content: "\ebe8";
}
.ph.ph-heart-half:before {
  content: "\ec48";
}
.ph.ph-heart-straight:before {
  content: "\e2aa";
}
.ph.ph-heart-straight-break:before {
  content: "\eb98";
}
.ph.ph-heartbeat:before {
  content: "\e2ac";
}
.ph.ph-hexagon:before {
  content: "\e2ae";
}
.ph.ph-high-definition:before {
  content: "\ea8e";
}
.ph.ph-high-heel:before {
  content: "\e8e8";
}
.ph.ph-highlighter:before {
  content: "\ec76";
}
.ph.ph-highlighter-circle:before {
  content: "\e632";
}
.ph.ph-hockey:before {
  content: "\ec86";
}
.ph.ph-hoodie:before {
  content: "\ecd0";
}
.ph.ph-horse:before {
  content: "\e2b0";
}
.ph.ph-hospital:before {
  content: "\e844";
}
.ph.ph-hourglass:before {
  content: "\e2b2";
}
.ph.ph-hourglass-high:before {
  content: "\e2b4";
}
.ph.ph-hourglass-low:before {
  content: "\e2b6";
}
.ph.ph-hourglass-medium:before {
  content: "\e2b8";
}
.ph.ph-hourglass-simple:before {
  content: "\e2ba";
}
.ph.ph-hourglass-simple-high:before {
  content: "\e2bc";
}
.ph.ph-hourglass-simple-low:before {
  content: "\e2be";
}
.ph.ph-hourglass-simple-medium:before {
  content: "\e2c0";
}
.ph.ph-house:before {
  content: "\e2c2";
}
.ph.ph-house-line:before {
  content: "\e2c4";
}
.ph.ph-house-simple:before {
  content: "\e2c6";
}
.ph.ph-hurricane:before {
  content: "\e88e";
}
.ph.ph-ice-cream:before {
  content: "\e804";
}
.ph.ph-identification-badge:before {
  content: "\e6f6";
}
.ph.ph-identification-card:before {
  content: "\e2c8";
}
.ph.ph-image:before {
  content: "\e2ca";
}
.ph.ph-image-broken:before {
  content: "\e7a8";
}
.ph.ph-image-square:before {
  content: "\e2cc";
}
.ph.ph-images:before {
  content: "\e836";
}
.ph.ph-images-square:before {
  content: "\e834";
}
.ph.ph-infinity:before {
  content: "\e634";
}
.ph.ph-lemniscate:before {
  content: "\e634";
}
.ph.ph-info:before {
  content: "\e2ce";
}
.ph.ph-instagram-logo:before {
  content: "\e2d0";
}
.ph.ph-intersect:before {
  content: "\e2d2";
}
.ph.ph-intersect-square:before {
  content: "\e87a";
}
.ph.ph-intersect-three:before {
  content: "\ecc4";
}
.ph.ph-intersection:before {
  content: "\edba";
}
.ph.ph-invoice:before {
  content: "\ee42";
}
.ph.ph-island:before {
  content: "\ee06";
}
.ph.ph-jar:before {
  content: "\e7e0";
}
.ph.ph-jar-label:before {
  content: "\e7e1";
}
.ph.ph-jeep:before {
  content: "\e2d4";
}
.ph.ph-joystick:before {
  content: "\ea5e";
}
.ph.ph-kanban:before {
  content: "\eb54";
}
.ph.ph-key:before {
  content: "\e2d6";
}
.ph.ph-key-return:before {
  content: "\e782";
}
.ph.ph-keyboard:before {
  content: "\e2d8";
}
.ph.ph-keyhole:before {
  content: "\ea78";
}
.ph.ph-knife:before {
  content: "\e636";
}
.ph.ph-ladder:before {
  content: "\e9e4";
}
.ph.ph-ladder-simple:before {
  content: "\ec26";
}
.ph.ph-lamp:before {
  content: "\e638";
}
.ph.ph-lamp-pendant:before {
  content: "\ee2e";
}
.ph.ph-laptop:before {
  content: "\e586";
}
.ph.ph-lasso:before {
  content: "\edc6";
}
.ph.ph-lastfm-logo:before {
  content: "\e842";
}
.ph.ph-layout:before {
  content: "\e6d6";
}
.ph.ph-leaf:before {
  content: "\e2da";
}
.ph.ph-lectern:before {
  content: "\e95a";
}
.ph.ph-lego:before {
  content: "\e8c6";
}
.ph.ph-lego-smiley:before {
  content: "\e8c7";
}
.ph.ph-less-than:before {
  content: "\edac";
}
.ph.ph-less-than-or-equal:before {
  content: "\eda4";
}
.ph.ph-letter-circle-h:before {
  content: "\ebf8";
}
.ph.ph-letter-circle-p:before {
  content: "\ec08";
}
.ph.ph-letter-circle-v:before {
  content: "\ec14";
}
.ph.ph-lifebuoy:before {
  content: "\e63a";
}
.ph.ph-lightbulb:before {
  content: "\e2dc";
}
.ph.ph-lightbulb-filament:before {
  content: "\e63c";
}
.ph.ph-lighthouse:before {
  content: "\e9f6";
}
.ph.ph-lightning:before {
  content: "\e2de";
}
.ph.ph-lightning-a:before {
  content: "\ea84";
}
.ph.ph-lightning-slash:before {
  content: "\e2e0";
}
.ph.ph-line-segment:before {
  content: "\e6d2";
}
.ph.ph-line-segments:before {
  content: "\e6d4";
}
.ph.ph-line-vertical:before {
  content: "\ed70";
}
.ph.ph-link:before {
  content: "\e2e2";
}
.ph.ph-link-break:before {
  content: "\e2e4";
}
.ph.ph-link-simple:before {
  content: "\e2e6";
}
.ph.ph-link-simple-break:before {
  content: "\e2e8";
}
.ph.ph-link-simple-horizontal:before {
  content: "\e2ea";
}
.ph.ph-link-simple-horizontal-break:before {
  content: "\e2ec";
}
.ph.ph-linkedin-logo:before {
  content: "\e2ee";
}
.ph.ph-linktree-logo:before {
  content: "\edee";
}
.ph.ph-linux-logo:before {
  content: "\eb02";
}
.ph.ph-list:before {
  content: "\e2f0";
}
.ph.ph-list-bullets:before {
  content: "\e2f2";
}
.ph.ph-list-checks:before {
  content: "\eadc";
}
.ph.ph-list-dashes:before {
  content: "\e2f4";
}
.ph.ph-list-heart:before {
  content: "\ebde";
}
.ph.ph-list-magnifying-glass:before {
  content: "\ebe0";
}
.ph.ph-list-numbers:before {
  content: "\e2f6";
}
.ph.ph-list-plus:before {
  content: "\e2f8";
}
.ph.ph-list-star:before {
  content: "\ebdc";
}
.ph.ph-lock:before {
  content: "\e2fa";
}
.ph.ph-lock-key:before {
  content: "\e2fe";
}
.ph.ph-lock-key-open:before {
  content: "\e300";
}
.ph.ph-lock-laminated:before {
  content: "\e302";
}
.ph.ph-lock-laminated-open:before {
  content: "\e304";
}
.ph.ph-lock-open:before {
  content: "\e306";
}
.ph.ph-lock-simple:before {
  content: "\e308";
}
.ph.ph-lock-simple-open:before {
  content: "\e30a";
}
.ph.ph-lockers:before {
  content: "\ecb8";
}
.ph.ph-log:before {
  content: "\ed82";
}
.ph.ph-magic-wand:before {
  content: "\e6b6";
}
.ph.ph-magnet:before {
  content: "\e680";
}
.ph.ph-magnet-straight:before {
  content: "\e682";
}
.ph.ph-magnifying-glass:before {
  content: "\e30c";
}
.ph.ph-magnifying-glass-minus:before {
  content: "\e30e";
}
.ph.ph-magnifying-glass-plus:before {
  content: "\e310";
}
.ph.ph-mailbox:before {
  content: "\ec1e";
}
.ph.ph-map-pin:before {
  content: "\e316";
}
.ph.ph-map-pin-area:before {
  content: "\ee3a";
}
.ph.ph-map-pin-line:before {
  content: "\e318";
}
.ph.ph-map-pin-plus:before {
  content: "\e314";
}
.ph.ph-map-pin-simple:before {
  content: "\ee3e";
}
.ph.ph-map-pin-simple-area:before {
  content: "\ee3c";
}
.ph.ph-map-pin-simple-line:before {
  content: "\ee38";
}
.ph.ph-map-trifold:before {
  content: "\e31a";
}
.ph.ph-markdown-logo:before {
  content: "\e508";
}
.ph.ph-marker-circle:before {
  content: "\e640";
}
.ph.ph-martini:before {
  content: "\e31c";
}
.ph.ph-mask-happy:before {
  content: "\e9f4";
}
.ph.ph-mask-sad:before {
  content: "\eb9e";
}
.ph.ph-mastodon-logo:before {
  content: "\ed68";
}
.ph.ph-math-operations:before {
  content: "\e31e";
}
.ph.ph-matrix-logo:before {
  content: "\ed64";
}
.ph.ph-medal:before {
  content: "\e320";
}
.ph.ph-medal-military:before {
  content: "\ecfc";
}
.ph.ph-medium-logo:before {
  content: "\e322";
}
.ph.ph-megaphone:before {
  content: "\e324";
}
.ph.ph-megaphone-simple:before {
  content: "\e642";
}
.ph.ph-member-of:before {
  content: "\edc2";
}
.ph.ph-memory:before {
  content: "\e9c4";
}
.ph.ph-messenger-logo:before {
  content: "\e6d8";
}
.ph.ph-meta-logo:before {
  content: "\ed02";
}
.ph.ph-meteor:before {
  content: "\e9ba";
}
.ph.ph-metronome:before {
  content: "\ec8e";
}
.ph.ph-microphone:before {
  content: "\e326";
}
.ph.ph-microphone-slash:before {
  content: "\e328";
}
.ph.ph-microphone-stage:before {
  content: "\e75c";
}
.ph.ph-microscope:before {
  content: "\ec7a";
}
.ph.ph-microsoft-excel-logo:before {
  content: "\eb6c";
}
.ph.ph-microsoft-outlook-logo:before {
  content: "\eb70";
}
.ph.ph-microsoft-powerpoint-logo:before {
  content: "\eace";
}
.ph.ph-microsoft-teams-logo:before {
  content: "\eb66";
}
.ph.ph-microsoft-word-logo:before {
  content: "\eb6a";
}
.ph.ph-minus:before {
  content: "\e32a";
}
.ph.ph-minus-circle:before {
  content: "\e32c";
}
.ph.ph-minus-square:before {
  content: "\ed4c";
}
.ph.ph-money:before {
  content: "\e588";
}
.ph.ph-money-wavy:before {
  content: "\ee68";
}
.ph.ph-monitor:before {
  content: "\e32e";
}
.ph.ph-monitor-arrow-up:before {
  content: "\e58a";
}
.ph.ph-monitor-play:before {
  content: "\e58c";
}
.ph.ph-moon:before {
  content: "\e330";
}
.ph.ph-moon-stars:before {
  content: "\e58e";
}
.ph.ph-moped:before {
  content: "\e824";
}
.ph.ph-moped-front:before {
  content: "\e822";
}
.ph.ph-mosque:before {
  content: "\ecee";
}
.ph.ph-motorcycle:before {
  content: "\e80a";
}
.ph.ph-mountains:before {
  content: "\e7ae";
}
.ph.ph-mouse:before {
  content: "\e33a";
}
.ph.ph-mouse-left-click:before {
  content: "\e334";
}
.ph.ph-mouse-middle-click:before {
  content: "\e338";
}
.ph.ph-mouse-right-click:before {
  content: "\e336";
}
.ph.ph-mouse-scroll:before {
  content: "\e332";
}
.ph.ph-mouse-simple:before {
  content: "\e644";
}
.ph.ph-music-note:before {
  content: "\e33c";
}
.ph.ph-music-note-simple:before {
  content: "\e33e";
}
.ph.ph-music-notes:before {
  content: "\e340";
}
.ph.ph-music-notes-minus:before {
  content: "\ee0c";
}
.ph.ph-music-notes-plus:before {
  content: "\eb7c";
}
.ph.ph-music-notes-simple:before {
  content: "\e342";
}
.ph.ph-navigation-arrow:before {
  content: "\eade";
}
.ph.ph-needle:before {
  content: "\e82e";
}
.ph.ph-network:before {
  content: "\edde";
}
.ph.ph-network-slash:before {
  content: "\eddc";
}
.ph.ph-network-x:before {
  content: "\edda";
}
.ph.ph-newspaper:before {
  content: "\e344";
}
.ph.ph-newspaper-clipping:before {
  content: "\e346";
}
.ph.ph-not-equals:before {
  content: "\eda6";
}
.ph.ph-not-member-of:before {
  content: "\edae";
}
.ph.ph-not-subset-of:before {
  content: "\edb0";
}
.ph.ph-not-superset-of:before {
  content: "\edb2";
}
.ph.ph-notches:before {
  content: "\ed3a";
}
.ph.ph-note:before {
  content: "\e348";
}
.ph.ph-note-blank:before {
  content: "\e34a";
}
.ph.ph-note-pencil:before {
  content: "\e34c";
}
.ph.ph-notebook:before {
  content: "\e34e";
}
.ph.ph-notepad:before {
  content: "\e63e";
}
.ph.ph-notification:before {
  content: "\e6fa";
}
.ph.ph-notion-logo:before {
  content: "\e9a0";
}
.ph.ph-nuclear-plant:before {
  content: "\ed7c";
}
.ph.ph-number-circle-eight:before {
  content: "\e352";
}
.ph.ph-number-circle-five:before {
  content: "\e358";
}
.ph.ph-number-circle-four:before {
  content: "\e35e";
}
.ph.ph-number-circle-nine:before {
  content: "\e364";
}
.ph.ph-number-circle-one:before {
  content: "\e36a";
}
.ph.ph-number-circle-seven:before {
  content: "\e370";
}
.ph.ph-number-circle-six:before {
  content: "\e376";
}
.ph.ph-number-circle-three:before {
  content: "\e37c";
}
.ph.ph-number-circle-two:before {
  content: "\e382";
}
.ph.ph-number-circle-zero:before {
  content: "\e388";
}
.ph.ph-number-eight:before {
  content: "\e350";
}
.ph.ph-number-five:before {
  content: "\e356";
}
.ph.ph-number-four:before {
  content: "\e35c";
}
.ph.ph-number-nine:before {
  content: "\e362";
}
.ph.ph-number-one:before {
  content: "\e368";
}
.ph.ph-number-seven:before {
  content: "\e36e";
}
.ph.ph-number-six:before {
  content: "\e374";
}
.ph.ph-number-square-eight:before {
  content: "\e354";
}
.ph.ph-number-square-five:before {
  content: "\e35a";
}
.ph.ph-number-square-four:before {
  content: "\e360";
}
.ph.ph-number-square-nine:before {
  content: "\e366";
}
.ph.ph-number-square-one:before {
  content: "\e36c";
}
.ph.ph-number-square-seven:before {
  content: "\e372";
}
.ph.ph-number-square-six:before {
  content: "\e378";
}
.ph.ph-number-square-three:before {
  content: "\e37e";
}
.ph.ph-number-square-two:before {
  content: "\e384";
}
.ph.ph-number-square-zero:before {
  content: "\e38a";
}
.ph.ph-number-three:before {
  content: "\e37a";
}
.ph.ph-number-two:before {
  content: "\e380";
}
.ph.ph-number-zero:before {
  content: "\e386";
}
.ph.ph-numpad:before {
  content: "\e3c8";
}
.ph.ph-nut:before {
  content: "\e38c";
}
.ph.ph-ny-times-logo:before {
  content: "\e646";
}
.ph.ph-octagon:before {
  content: "\e38e";
}
.ph.ph-office-chair:before {
  content: "\ea46";
}
.ph.ph-onigiri:before {
  content: "\ee2c";
}
.ph.ph-open-ai-logo:before {
  content: "\e7d2";
}
.ph.ph-option:before {
  content: "\e8a8";
}
.ph.ph-orange:before {
  content: "\ee40";
}
.ph.ph-orange-slice:before {
  content: "\ed36";
}
.ph.ph-oven:before {
  content: "\ed8c";
}
.ph.ph-package:before {
  content: "\e390";
}
.ph.ph-paint-brush:before {
  content: "\e6f0";
}
.ph.ph-paint-brush-broad:before {
  content: "\e590";
}
.ph.ph-paint-brush-household:before {
  content: "\e6f2";
}
.ph.ph-paint-bucket:before {
  content: "\e392";
}
.ph.ph-paint-roller:before {
  content: "\e6f4";
}
.ph.ph-palette:before {
  content: "\e6c8";
}
.ph.ph-panorama:before {
  content: "\eaa2";
}
.ph.ph-pants:before {
  content: "\ec88";
}
.ph.ph-paper-plane:before {
  content: "\e394";
}
.ph.ph-paper-plane-right:before {
  content: "\e396";
}
.ph.ph-paper-plane-tilt:before {
  content: "\e398";
}
.ph.ph-paperclip:before {
  content: "\e39a";
}
.ph.ph-paperclip-horizontal:before {
  content: "\e592";
}
.ph.ph-parachute:before {
  content: "\ea7c";
}
.ph.ph-paragraph:before {
  content: "\e960";
}
.ph.ph-parallelogram:before {
  content: "\ecc6";
}
.ph.ph-park:before {
  content: "\ecb2";
}
.ph.ph-password:before {
  content: "\e752";
}
.ph.ph-path:before {
  content: "\e39c";
}
.ph.ph-patreon-logo:before {
  content: "\e98a";
}
.ph.ph-pause:before {
  content: "\e39e";
}
.ph.ph-pause-circle:before {
  content: "\e3a0";
}
.ph.ph-paw-print:before {
  content: "\e648";
}
.ph.ph-paypal-logo:before {
  content: "\e98c";
}
.ph.ph-peace:before {
  content: "\e3a2";
}
.ph.ph-pen:before {
  content: "\e3aa";
}
.ph.ph-pen-nib:before {
  content: "\e3ac";
}
.ph.ph-pen-nib-straight:before {
  content: "\e64a";
}
.ph.ph-pencil:before {
  content: "\e3ae";
}
.ph.ph-pencil-circle:before {
  content: "\e3b0";
}
.ph.ph-pencil-line:before {
  content: "\e3b2";
}
.ph.ph-pencil-ruler:before {
  content: "\e906";
}
.ph.ph-pencil-simple:before {
  content: "\e3b4";
}
.ph.ph-pencil-simple-line:before {
  content: "\ebc6";
}
.ph.ph-pencil-simple-slash:before {
  content: "\ecf6";
}
.ph.ph-pencil-slash:before {
  content: "\ecf8";
}
.ph.ph-pentagon:before {
  content: "\ec7e";
}
.ph.ph-pentagram:before {
  content: "\ec5c";
}
.ph.ph-pepper:before {
  content: "\e94a";
}
.ph.ph-percent:before {
  content: "\e3b6";
}
.ph.ph-person:before {
  content: "\e3a8";
}
.ph.ph-person-arms-spread:before {
  content: "\ecfe";
}
.ph.ph-person-simple:before {
  content: "\e72e";
}
.ph.ph-person-simple-bike:before {
  content: "\e734";
}
.ph.ph-person-simple-circle:before {
  content: "\ee58";
}
.ph.ph-person-simple-hike:before {
  content: "\ed54";
}
.ph.ph-person-simple-run:before {
  content: "\e730";
}
.ph.ph-person-simple-ski:before {
  content: "\e71c";
}
.ph.ph-person-simple-snowboard:before {
  content: "\e71e";
}
.ph.ph-person-simple-swim:before {
  content: "\e736";
}
.ph.ph-person-simple-tai-chi:before {
  content: "\ed5c";
}
.ph.ph-person-simple-throw:before {
  content: "\e732";
}
.ph.ph-person-simple-walk:before {
  content: "\e73a";
}
.ph.ph-perspective:before {
  content: "\ebe6";
}
.ph.ph-phone:before {
  content: "\e3b8";
}
.ph.ph-phone-call:before {
  content: "\e3ba";
}
.ph.ph-phone-disconnect:before {
  content: "\e3bc";
}
.ph.ph-phone-incoming:before {
  content: "\e3be";
}
.ph.ph-phone-list:before {
  content: "\e3cc";
}
.ph.ph-phone-outgoing:before {
  content: "\e3c0";
}
.ph.ph-phone-pause:before {
  content: "\e3ca";
}
.ph.ph-phone-plus:before {
  content: "\ec56";
}
.ph.ph-phone-slash:before {
  content: "\e3c2";
}
.ph.ph-phone-transfer:before {
  content: "\e3c6";
}
.ph.ph-phone-x:before {
  content: "\e3c4";
}
.ph.ph-phosphor-logo:before {
  content: "\e3ce";
}
.ph.ph-pi:before {
  content: "\ec80";
}
.ph.ph-piano-keys:before {
  content: "\e9c8";
}
.ph.ph-picnic-table:before {
  content: "\ee26";
}
.ph.ph-picture-in-picture:before {
  content: "\e64c";
}
.ph.ph-piggy-bank:before {
  content: "\ea04";
}
.ph.ph-pill:before {
  content: "\e700";
}
.ph.ph-ping-pong:before {
  content: "\ea42";
}
.ph.ph-pint-glass:before {
  content: "\edd0";
}
.ph.ph-pinterest-logo:before {
  content: "\e64e";
}
.ph.ph-pinwheel:before {
  content: "\eb9c";
}
.ph.ph-pipe:before {
  content: "\ed86";
}
.ph.ph-pipe-wrench:before {
  content: "\ed88";
}
.ph.ph-pix-logo:before {
  content: "\ecc2";
}
.ph.ph-pizza:before {
  content: "\e796";
}
.ph.ph-placeholder:before {
  content: "\e650";
}
.ph.ph-planet:before {
  content: "\e652";
}
.ph.ph-plant:before {
  content: "\ebae";
}
.ph.ph-play:before {
  content: "\e3d0";
}
.ph.ph-play-circle:before {
  content: "\e3d2";
}
.ph.ph-play-pause:before {
  content: "\e8be";
}
.ph.ph-playlist:before {
  content: "\e6aa";
}
.ph.ph-plug:before {
  content: "\e946";
}
.ph.ph-plug-charging:before {
  content: "\eb5c";
}
.ph.ph-plugs:before {
  content: "\eb56";
}
.ph.ph-plugs-connected:before {
  content: "\eb5a";
}
.ph.ph-plus:before {
  content: "\e3d4";
}
.ph.ph-plus-circle:before {
  content: "\e3d6";
}
.ph.ph-plus-minus:before {
  content: "\e3d8";
}
.ph.ph-plus-square:before {
  content: "\ed4a";
}
.ph.ph-poker-chip:before {
  content: "\e594";
}
.ph.ph-police-car:before {
  content: "\ec4a";
}
.ph.ph-polygon:before {
  content: "\e6d0";
}
.ph.ph-popcorn:before {
  content: "\eb4e";
}
.ph.ph-popsicle:before {
  content: "\ebbe";
}
.ph.ph-potted-plant:before {
  content: "\ec22";
}
.ph.ph-power:before {
  content: "\e3da";
}
.ph.ph-prescription:before {
  content: "\e7a2";
}
.ph.ph-presentation:before {
  content: "\e654";
}
.ph.ph-presentation-chart:before {
  content: "\e656";
}
.ph.ph-printer:before {
  content: "\e3dc";
}
.ph.ph-prohibit:before {
  content: "\e3de";
}
.ph.ph-prohibit-inset:before {
  content: "\e3e0";
}
.ph.ph-projector-screen:before {
  content: "\e658";
}
.ph.ph-projector-screen-chart:before {
  content: "\e65a";
}
.ph.ph-pulse:before {
  content: "\e000";
}
.ph.ph-activity:before {
  content: "\e000";
}
.ph.ph-push-pin:before {
  content: "\e3e2";
}
.ph.ph-push-pin-simple:before {
  content: "\e65c";
}
.ph.ph-push-pin-simple-slash:before {
  content: "\e65e";
}
.ph.ph-push-pin-slash:before {
  content: "\e3e4";
}
.ph.ph-puzzle-piece:before {
  content: "\e596";
}
.ph.ph-qr-code:before {
  content: "\e3e6";
}
.ph.ph-question:before {
  content: "\e3e8";
}
.ph.ph-question-mark:before {
  content: "\e3e9";
}
.ph.ph-queue:before {
  content: "\e6ac";
}
.ph.ph-quotes:before {
  content: "\e660";
}
.ph.ph-rabbit:before {
  content: "\eac2";
}
.ph.ph-racquet:before {
  content: "\ee02";
}
.ph.ph-radical:before {
  content: "\e3ea";
}
.ph.ph-radio:before {
  content: "\e77e";
}
.ph.ph-radio-button:before {
  content: "\eb08";
}
.ph.ph-radioactive:before {
  content: "\e9dc";
}
.ph.ph-rainbow:before {
  content: "\e598";
}
.ph.ph-rainbow-cloud:before {
  content: "\e59a";
}
.ph.ph-ranking:before {
  content: "\ed62";
}
.ph.ph-read-cv-logo:before {
  content: "\ed0c";
}
.ph.ph-receipt:before {
  content: "\e3ec";
}
.ph.ph-receipt-x:before {
  content: "\ed40";
}
.ph.ph-record:before {
  content: "\e3ee";
}
.ph.ph-rectangle:before {
  content: "\e3f0";
}
.ph.ph-rectangle-dashed:before {
  content: "\e3f2";
}
.ph.ph-recycle:before {
  content: "\e75a";
}
.ph.ph-reddit-logo:before {
  content: "\e59c";
}
.ph.ph-repeat:before {
  content: "\e3f6";
}
.ph.ph-repeat-once:before {
  content: "\e3f8";
}
.ph.ph-replit-logo:before {
  content: "\eb8a";
}
.ph.ph-resize:before {
  content: "\ed6e";
}
.ph.ph-rewind:before {
  content: "\e6a8";
}
.ph.ph-rewind-circle:before {
  content: "\e3fa";
}
.ph.ph-road-horizon:before {
  content: "\e838";
}
.ph.ph-robot:before {
  content: "\e762";
}
.ph.ph-rocket:before {
  content: "\e3fc";
}
.ph.ph-rocket-launch:before {
  content: "\e3fe";
}
.ph.ph-rows:before {
  content: "\e5a2";
}
.ph.ph-rows-plus-bottom:before {
  content: "\e59e";
}
.ph.ph-rows-plus-top:before {
  content: "\e5a0";
}
.ph.ph-rss:before {
  content: "\e400";
}
.ph.ph-rss-simple:before {
  content: "\e402";
}
.ph.ph-rug:before {
  content: "\ea1a";
}
.ph.ph-ruler:before {
  content: "\e6b8";
}
.ph.ph-sailboat:before {
  content: "\e78a";
}
.ph.ph-scales:before {
  content: "\e750";
}
.ph.ph-scan:before {
  content: "\ebb6";
}
.ph.ph-scan-smiley:before {
  content: "\ebb4";
}
.ph.ph-scissors:before {
  content: "\eae0";
}
.ph.ph-scooter:before {
  content: "\e820";
}
.ph.ph-screencast:before {
  content: "\e404";
}
.ph.ph-screwdriver:before {
  content: "\e86e";
}
.ph.ph-scribble:before {
  content: "\e806";
}
.ph.ph-scribble-loop:before {
  content: "\e662";
}
.ph.ph-scroll:before {
  content: "\eb7a";
}
.ph.ph-seal:before {
  content: "\e604";
}
.ph.ph-circle-wavy:before {
  content: "\e604";
}
.ph.ph-seal-check:before {
  content: "\e606";
}
.ph.ph-circle-wavy-check:before {
  content: "\e606";
}
.ph.ph-seal-percent:before {
  content: "\e60a";
}
.ph.ph-seal-question:before {
  content: "\e608";
}
.ph.ph-circle-wavy-question:before {
  content: "\e608";
}
.ph.ph-seal-warning:before {
  content: "\e60c";
}
.ph.ph-circle-wavy-warning:before {
  content: "\e60c";
}
.ph.ph-seat:before {
  content: "\eb8e";
}
.ph.ph-seatbelt:before {
  content: "\edfe";
}
.ph.ph-security-camera:before {
  content: "\eca4";
}
.ph.ph-selection:before {
  content: "\e69a";
}
.ph.ph-selection-all:before {
  content: "\e746";
}
.ph.ph-selection-background:before {
  content: "\eaf8";
}
.ph.ph-selection-foreground:before {
  content: "\eaf6";
}
.ph.ph-selection-inverse:before {
  content: "\e744";
}
.ph.ph-selection-plus:before {
  content: "\e69c";
}
.ph.ph-selection-slash:before {
  content: "\e69e";
}
.ph.ph-shapes:before {
  content: "\ec5e";
}
.ph.ph-share:before {
  content: "\e406";
}
.ph.ph-share-fat:before {
  content: "\ed52";
}
.ph.ph-share-network:before {
  content: "\e408";
}
.ph.ph-shield:before {
  content: "\e40a";
}
.ph.ph-shield-check:before {
  content: "\e40c";
}
.ph.ph-shield-checkered:before {
  content: "\e708";
}
.ph.ph-shield-chevron:before {
  content: "\e40e";
}
.ph.ph-shield-plus:before {
  content: "\e706";
}
.ph.ph-shield-slash:before {
  content: "\e410";
}
.ph.ph-shield-star:before {
  content: "\ec34";
}
.ph.ph-shield-warning:before {
  content: "\e412";
}
.ph.ph-shipping-container:before {
  content: "\e78c";
}
.ph.ph-shirt-folded:before {
  content: "\ea92";
}
.ph.ph-shooting-star:before {
  content: "\ecfa";
}
.ph.ph-shopping-bag:before {
  content: "\e416";
}
.ph.ph-shopping-bag-open:before {
  content: "\e418";
}
.ph.ph-shopping-cart:before {
  content: "\e41e";
}
.ph.ph-shopping-cart-simple:before {
  content: "\e420";
}
.ph.ph-shovel:before {
  content: "\e9e6";
}
.ph.ph-shower:before {
  content: "\e776";
}
.ph.ph-shrimp:before {
  content: "\eab4";
}
.ph.ph-shuffle:before {
  content: "\e422";
}
.ph.ph-shuffle-angular:before {
  content: "\e424";
}
.ph.ph-shuffle-simple:before {
  content: "\e426";
}
.ph.ph-sidebar:before {
  content: "\eab6";
}
.ph.ph-sidebar-simple:before {
  content: "\ec24";
}
.ph.ph-sigma:before {
  content: "\eab8";
}
.ph.ph-sign-in:before {
  content: "\e428";
}
.ph.ph-sign-out:before {
  content: "\e42a";
}
.ph.ph-signature:before {
  content: "\ebac";
}
.ph.ph-signpost:before {
  content: "\e89c";
}
.ph.ph-sim-card:before {
  content: "\e664";
}
.ph.ph-siren:before {
  content: "\e9b8";
}
.ph.ph-sketch-logo:before {
  content: "\e42c";
}
.ph.ph-skip-back:before {
  content: "\e5a4";
}
.ph.ph-skip-back-circle:before {
  content: "\e42e";
}
.ph.ph-skip-forward:before {
  content: "\e5a6";
}
.ph.ph-skip-forward-circle:before {
  content: "\e430";
}
.ph.ph-skull:before {
  content: "\e916";
}
.ph.ph-skype-logo:before {
  content: "\e8dc";
}
.ph.ph-slack-logo:before {
  content: "\e5a8";
}
.ph.ph-sliders:before {
  content: "\e432";
}
.ph.ph-sliders-horizontal:before {
  content: "\e434";
}
.ph.ph-slideshow:before {
  content: "\ed32";
}
.ph.ph-smiley:before {
  content: "\e436";
}
.ph.ph-smiley-angry:before {
  content: "\ec62";
}
.ph.ph-smiley-blank:before {
  content: "\e438";
}
.ph.ph-smiley-meh:before {
  content: "\e43a";
}
.ph.ph-smiley-melting:before {
  content: "\ee56";
}
.ph.ph-smiley-nervous:before {
  content: "\e43c";
}
.ph.ph-smiley-sad:before {
  content: "\e43e";
}
.ph.ph-smiley-sticker:before {
  content: "\e440";
}
.ph.ph-smiley-wink:before {
  content: "\e666";
}
.ph.ph-smiley-x-eyes:before {
  content: "\e442";
}
.ph.ph-snapchat-logo:before {
  content: "\e668";
}
.ph.ph-sneaker:before {
  content: "\e80c";
}
.ph.ph-sneaker-move:before {
  content: "\ed60";
}
.ph.ph-snowflake:before {
  content: "\e5aa";
}
.ph.ph-soccer-ball:before {
  content: "\e716";
}
.ph.ph-sock:before {
  content: "\ecce";
}
.ph.ph-solar-panel:before {
  content: "\ed7a";
}
.ph.ph-solar-roof:before {
  content: "\ed7b";
}
.ph.ph-sort-ascending:before {
  content: "\e444";
}
.ph.ph-sort-descending:before {
  content: "\e446";
}
.ph.ph-soundcloud-logo:before {
  content: "\e8de";
}
.ph.ph-spade:before {
  content: "\e448";
}
.ph.ph-sparkle:before {
  content: "\e6a2";
}
.ph.ph-speaker-hifi:before {
  content: "\ea08";
}
.ph.ph-speaker-high:before {
  content: "\e44a";
}
.ph.ph-speaker-low:before {
  content: "\e44c";
}
.ph.ph-speaker-none:before {
  content: "\e44e";
}
.ph.ph-speaker-simple-high:before {
  content: "\e450";
}
.ph.ph-speaker-simple-low:before {
  content: "\e452";
}
.ph.ph-speaker-simple-none:before {
  content: "\e454";
}
.ph.ph-speaker-simple-slash:before {
  content: "\e456";
}
.ph.ph-speaker-simple-x:before {
  content: "\e458";
}
.ph.ph-speaker-slash:before {
  content: "\e45a";
}
.ph.ph-speaker-x:before {
  content: "\e45c";
}
.ph.ph-speedometer:before {
  content: "\ee74";
}
.ph.ph-sphere:before {
  content: "\ee66";
}
.ph.ph-spinner:before {
  content: "\e66a";
}
.ph.ph-spinner-ball:before {
  content: "\ee28";
}
.ph.ph-spinner-gap:before {
  content: "\e66c";
}
.ph.ph-spiral:before {
  content: "\e9fa";
}
.ph.ph-split-horizontal:before {
  content: "\e872";
}
.ph.ph-split-vertical:before {
  content: "\e876";
}
.ph.ph-spotify-logo:before {
  content: "\e66e";
}
.ph.ph-spray-bottle:before {
  content: "\e7e4";
}
.ph.ph-square:before {
  content: "\e45e";
}
.ph.ph-square-half:before {
  content: "\e462";
}
.ph.ph-square-half-bottom:before {
  content: "\eb16";
}
.ph.ph-square-logo:before {
  content: "\e690";
}
.ph.ph-square-split-horizontal:before {
  content: "\e870";
}
.ph.ph-square-split-vertical:before {
  content: "\e874";
}
.ph.ph-squares-four:before {
  content: "\e464";
}
.ph.ph-stack:before {
  content: "\e466";
}
.ph.ph-stack-minus:before {
  content: "\edf4";
}
.ph.ph-stack-overflow-logo:before {
  content: "\eb78";
}
.ph.ph-stack-plus:before {
  content: "\edf6";
}
.ph.ph-stack-simple:before {
  content: "\e468";
}
.ph.ph-stairs:before {
  content: "\e8ec";
}
.ph.ph-stamp:before {
  content: "\ea48";
}
.ph.ph-standard-definition:before {
  content: "\ea90";
}
.ph.ph-star:before {
  content: "\e46a";
}
.ph.ph-star-and-crescent:before {
  content: "\ecf4";
}
.ph.ph-star-four:before {
  content: "\e6a4";
}
.ph.ph-star-half:before {
  content: "\e70a";
}
.ph.ph-star-of-david:before {
  content: "\e89e";
}
.ph.ph-steam-logo:before {
  content: "\ead4";
}
.ph.ph-steering-wheel:before {
  content: "\e9ac";
}
.ph.ph-steps:before {
  content: "\ecbe";
}
.ph.ph-stethoscope:before {
  content: "\e7ea";
}
.ph.ph-sticker:before {
  content: "\e5ac";
}
.ph.ph-stool:before {
  content: "\ea44";
}
.ph.ph-stop:before {
  content: "\e46c";
}
.ph.ph-stop-circle:before {
  content: "\e46e";
}
.ph.ph-storefront:before {
  content: "\e470";
}
.ph.ph-strategy:before {
  content: "\ea3a";
}
.ph.ph-stripe-logo:before {
  content: "\e698";
}
.ph.ph-student:before {
  content: "\e73e";
}
.ph.ph-subset-of:before {
  content: "\edc0";
}
.ph.ph-subset-proper-of:before {
  content: "\edb6";
}
.ph.ph-subtitles:before {
  content: "\e1a8";
}
.ph.ph-subtitles-slash:before {
  content: "\e1a6";
}
.ph.ph-subtract:before {
  content: "\ebd6";
}
.ph.ph-subtract-square:before {
  content: "\ebd4";
}
.ph.ph-subway:before {
  content: "\e498";
}
.ph.ph-suitcase:before {
  content: "\e5ae";
}
.ph.ph-suitcase-rolling:before {
  content: "\e9b0";
}
.ph.ph-suitcase-simple:before {
  content: "\e5b0";
}
.ph.ph-sun:before {
  content: "\e472";
}
.ph.ph-sun-dim:before {
  content: "\e474";
}
.ph.ph-sun-horizon:before {
  content: "\e5b6";
}
.ph.ph-sunglasses:before {
  content: "\e816";
}
.ph.ph-superset-of:before {
  content: "\edb8";
}
.ph.ph-superset-proper-of:before {
  content: "\edb4";
}
.ph.ph-swap:before {
  content: "\e83c";
}
.ph.ph-swatches:before {
  content: "\e5b8";
}
.ph.ph-swimming-pool:before {
  content: "\ecb6";
}
.ph.ph-sword:before {
  content: "\e5ba";
}
.ph.ph-synagogue:before {
  content: "\ecec";
}
.ph.ph-syringe:before {
  content: "\e968";
}
.ph.ph-t-shirt:before {
  content: "\e670";
}
.ph.ph-table:before {
  content: "\e476";
}
.ph.ph-tabs:before {
  content: "\e778";
}
.ph.ph-tag:before {
  content: "\e478";
}
.ph.ph-tag-chevron:before {
  content: "\e672";
}
.ph.ph-tag-simple:before {
  content: "\e47a";
}
.ph.ph-target:before {
  content: "\e47c";
}
.ph.ph-taxi:before {
  content: "\e902";
}
.ph.ph-tea-bag:before {
  content: "\e8e6";
}
.ph.ph-telegram-logo:before {
  content: "\e5bc";
}
.ph.ph-television:before {
  content: "\e754";
}
.ph.ph-television-simple:before {
  content: "\eae6";
}
.ph.ph-tennis-ball:before {
  content: "\e720";
}
.ph.ph-tent:before {
  content: "\e8ba";
}
.ph.ph-terminal:before {
  content: "\e47e";
}
.ph.ph-terminal-window:before {
  content: "\eae8";
}
.ph.ph-test-tube:before {
  content: "\e7a0";
}
.ph.ph-text-a-underline:before {
  content: "\ed34";
}
.ph.ph-text-aa:before {
  content: "\e6ee";
}
.ph.ph-text-align-center:before {
  content: "\e480";
}
.ph.ph-text-align-justify:before {
  content: "\e482";
}
.ph.ph-text-align-left:before {
  content: "\e484";
}
.ph.ph-text-align-right:before {
  content: "\e486";
}
.ph.ph-text-b:before {
  content: "\e5be";
}
.ph.ph-text-bolder:before {
  content: "\e5be";
}
.ph.ph-text-columns:before {
  content: "\ec96";
}
.ph.ph-text-h:before {
  content: "\e6ba";
}
.ph.ph-text-h-five:before {
  content: "\e6c4";
}
.ph.ph-text-h-four:before {
  content: "\e6c2";
}
.ph.ph-text-h-one:before {
  content: "\e6bc";
}
.ph.ph-text-h-six:before {
  content: "\e6c6";
}
.ph.ph-text-h-three:before {
  content: "\e6c0";
}
.ph.ph-text-h-two:before {
  content: "\e6be";
}
.ph.ph-text-indent:before {
  content: "\ea1e";
}
.ph.ph-text-italic:before {
  content: "\e5c0";
}
.ph.ph-text-outdent:before {
  content: "\ea1c";
}
.ph.ph-text-strikethrough:before {
  content: "\e5c2";
}
.ph.ph-text-subscript:before {
  content: "\ec98";
}
.ph.ph-text-superscript:before {
  content: "\ec9a";
}
.ph.ph-text-t:before {
  content: "\e48a";
}
.ph.ph-text-t-slash:before {
  content: "\e488";
}
.ph.ph-text-underline:before {
  content: "\e5c4";
}
.ph.ph-textbox:before {
  content: "\eb0a";
}
.ph.ph-thermometer:before {
  content: "\e5c6";
}
.ph.ph-thermometer-cold:before {
  content: "\e5c8";
}
.ph.ph-thermometer-hot:before {
  content: "\e5ca";
}
.ph.ph-thermometer-simple:before {
  content: "\e5cc";
}
.ph.ph-threads-logo:before {
  content: "\ed9e";
}
.ph.ph-three-d:before {
  content: "\ea5a";
}
.ph.ph-thumbs-down:before {
  content: "\e48c";
}
.ph.ph-thumbs-up:before {
  content: "\e48e";
}
.ph.ph-ticket:before {
  content: "\e490";
}
.ph.ph-tidal-logo:before {
  content: "\ed1c";
}
.ph.ph-tiktok-logo:before {
  content: "\eaf2";
}
.ph.ph-tilde:before {
  content: "\eda8";
}
.ph.ph-timer:before {
  content: "\e492";
}
.ph.ph-tip-jar:before {
  content: "\e7e2";
}
.ph.ph-tipi:before {
  content: "\ed30";
}
.ph.ph-tire:before {
  content: "\edd2";
}
.ph.ph-toggle-left:before {
  content: "\e674";
}
.ph.ph-toggle-right:before {
  content: "\e676";
}
.ph.ph-toilet:before {
  content: "\e79a";
}
.ph.ph-toilet-paper:before {
  content: "\e79c";
}
.ph.ph-toolbox:before {
  content: "\eca0";
}
.ph.ph-tooth:before {
  content: "\e9cc";
}
.ph.ph-tornado:before {
  content: "\e88c";
}
.ph.ph-tote:before {
  content: "\e494";
}
.ph.ph-tote-simple:before {
  content: "\e678";
}
.ph.ph-towel:before {
  content: "\ede6";
}
.ph.ph-tractor:before {
  content: "\ec6e";
}
.ph.ph-trademark:before {
  content: "\e9f0";
}
.ph.ph-trademark-registered:before {
  content: "\e3f4";
}
.ph.ph-traffic-cone:before {
  content: "\e9a8";
}
.ph.ph-traffic-sign:before {
  content: "\e67a";
}
.ph.ph-traffic-signal:before {
  content: "\e9aa";
}
.ph.ph-train:before {
  content: "\e496";
}
.ph.ph-train-regional:before {
  content: "\e49e";
}
.ph.ph-train-simple:before {
  content: "\e4a0";
}
.ph.ph-tram:before {
  content: "\e9ec";
}
.ph.ph-translate:before {
  content: "\e4a2";
}
.ph.ph-trash:before {
  content: "\e4a6";
}
.ph.ph-trash-simple:before {
  content: "\e4a8";
}
.ph.ph-tray:before {
  content: "\e4aa";
}
.ph.ph-tray-arrow-down:before {
  content: "\e010";
}
.ph.ph-archive-tray:before {
  content: "\e010";
}
.ph.ph-tray-arrow-up:before {
  content: "\ee52";
}
.ph.ph-treasure-chest:before {
  content: "\ede2";
}
.ph.ph-tree:before {
  content: "\e6da";
}
.ph.ph-tree-evergreen:before {
  content: "\e6dc";
}
.ph.ph-tree-palm:before {
  content: "\e91a";
}
.ph.ph-tree-structure:before {
  content: "\e67c";
}
.ph.ph-tree-view:before {
  content: "\ee48";
}
.ph.ph-trend-down:before {
  content: "\e4ac";
}
.ph.ph-trend-up:before {
  content: "\e4ae";
}
.ph.ph-triangle:before {
  content: "\e4b0";
}
.ph.ph-triangle-dashed:before {
  content: "\e4b2";
}
.ph.ph-trolley:before {
  content: "\e5b2";
}
.ph.ph-trolley-suitcase:before {
  content: "\e5b4";
}
.ph.ph-trophy:before {
  content: "\e67e";
}
.ph.ph-truck:before {
  content: "\e4b4";
}
.ph.ph-truck-trailer:before {
  content: "\e4b6";
}
.ph.ph-tumblr-logo:before {
  content: "\e8d4";
}
.ph.ph-twitch-logo:before {
  content: "\e5ce";
}
.ph.ph-twitter-logo:before {
  content: "\e4ba";
}
.ph.ph-umbrella:before {
  content: "\e684";
}
.ph.ph-umbrella-simple:before {
  content: "\e686";
}
.ph.ph-union:before {
  content: "\edbe";
}
.ph.ph-unite:before {
  content: "\e87e";
}
.ph.ph-unite-square:before {
  content: "\e878";
}
.ph.ph-upload:before {
  content: "\e4be";
}
.ph.ph-upload-simple:before {
  content: "\e4c0";
}
.ph.ph-usb:before {
  content: "\e956";
}
.ph.ph-user:before {
  content: "\e4c2";
}
.ph.ph-user-check:before {
  content: "\eafa";
}
.ph.ph-user-circle:before {
  content: "\e4c4";
}
.ph.ph-user-circle-check:before {
  content: "\ec38";
}
.ph.ph-user-circle-dashed:before {
  content: "\ec36";
}
.ph.ph-user-circle-gear:before {
  content: "\e4c6";
}
.ph.ph-user-circle-minus:before {
  content: "\e4c8";
}
.ph.ph-user-circle-plus:before {
  content: "\e4ca";
}
.ph.ph-user-focus:before {
  content: "\e6fc";
}
.ph.ph-user-gear:before {
  content: "\e4cc";
}
.ph.ph-user-list:before {
  content: "\e73c";
}
.ph.ph-user-minus:before {
  content: "\e4ce";
}
.ph.ph-user-plus:before {
  content: "\e4d0";
}
.ph.ph-user-rectangle:before {
  content: "\e4d2";
}
.ph.ph-user-sound:before {
  content: "\eca8";
}
.ph.ph-user-square:before {
  content: "\e4d4";
}
.ph.ph-user-switch:before {
  content: "\e756";
}
.ph.ph-users:before {
  content: "\e4d6";
}
.ph.ph-users-four:before {
  content: "\e68c";
}
.ph.ph-users-three:before {
  content: "\e68e";
}
.ph.ph-van:before {
  content: "\e826";
}
.ph.ph-vault:before {
  content: "\e76e";
}
.ph.ph-vector-three:before {
  content: "\ee62";
}
.ph.ph-vector-two:before {
  content: "\ee64";
}
.ph.ph-vibrate:before {
  content: "\e4d8";
}
.ph.ph-video:before {
  content: "\e740";
}
.ph.ph-video-camera:before {
  content: "\e4da";
}
.ph.ph-video-camera-slash:before {
  content: "\e4dc";
}
.ph.ph-video-conference:before {
  content: "\edce";
}
.ph.ph-vignette:before {
  content: "\eba2";
}
.ph.ph-vinyl-record:before {
  content: "\ecac";
}
.ph.ph-virtual-reality:before {
  content: "\e7b8";
}
.ph.ph-virus:before {
  content: "\e7d6";
}
.ph.ph-visor:before {
  content: "\ee2a";
}
.ph.ph-voicemail:before {
  content: "\e4de";
}
.ph.ph-volleyball:before {
  content: "\e726";
}
.ph.ph-wall:before {
  content: "\e688";
}
.ph.ph-wallet:before {
  content: "\e68a";
}
.ph.ph-warehouse:before {
  content: "\ecd4";
}
.ph.ph-warning:before {
  content: "\e4e0";
}
.ph.ph-warning-circle:before {
  content: "\e4e2";
}
.ph.ph-warning-diamond:before {
  content: "\e7fc";
}
.ph.ph-warning-octagon:before {
  content: "\e4e4";
}
.ph.ph-washing-machine:before {
  content: "\ede8";
}
.ph.ph-watch:before {
  content: "\e4e6";
}
.ph.ph-wave-sawtooth:before {
  content: "\ea9c";
}
.ph.ph-wave-sine:before {
  content: "\ea9a";
}
.ph.ph-wave-square:before {
  content: "\ea9e";
}
.ph.ph-wave-triangle:before {
  content: "\eaa0";
}
.ph.ph-waveform:before {
  content: "\e802";
}
.ph.ph-waveform-slash:before {
  content: "\e800";
}
.ph.ph-waves:before {
  content: "\e6de";
}
.ph.ph-webcam:before {
  content: "\e9b2";
}
.ph.ph-webcam-slash:before {
  content: "\ecdc";
}
.ph.ph-webhooks-logo:before {
  content: "\ecae";
}
.ph.ph-wechat-logo:before {
  content: "\e8d2";
}
.ph.ph-whatsapp-logo:before {
  content: "\e5d0";
}
.ph.ph-wheelchair:before {
  content: "\e4e8";
}
.ph.ph-wheelchair-motion:before {
  content: "\e89a";
}
.ph.ph-wifi-high:before {
  content: "\e4ea";
}
.ph.ph-wifi-low:before {
  content: "\e4ec";
}
.ph.ph-wifi-medium:before {
  content: "\e4ee";
}
.ph.ph-wifi-none:before {
  content: "\e4f0";
}
.ph.ph-wifi-slash:before {
  content: "\e4f2";
}
.ph.ph-wifi-x:before {
  content: "\e4f4";
}
.ph.ph-wind:before {
  content: "\e5d2";
}
.ph.ph-windmill:before {
  content: "\e9f8";
}
.ph.ph-windows-logo:before {
  content: "\e692";
}
.ph.ph-wine:before {
  content: "\e6b2";
}
.ph.ph-wrench:before {
  content: "\e5d4";
}
.ph.ph-x:before {
  content: "\e4f6";
}
.ph.ph-x-circle:before {
  content: "\e4f8";
}
.ph.ph-x-logo:before {
  content: "\e4bc";
}
.ph.ph-x-square:before {
  content: "\e4fa";
}
.ph.ph-yarn:before {
  content: "\ed9a";
}
.ph.ph-yin-yang:before {
  content: "\e92a";
}
.ph.ph-youtube-logo:before {
  content: "\e4fc";
}


/* --- 1. COMPILED STATIC TAILWIND UTILITIES (Pure CSS, No JIT Runtime) --- */
.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-10{bottom:-2.5rem}.-left-10{left:-2.5rem}.-right-10{right:-2.5rem}.-right-20{right:-5rem}.-top-20{top:-5rem}.bottom-0{bottom:0}.left-0{left:0}.left-10{left:2.5rem}.right-0{right:0}.top-0{top:0}.top-32{top:8rem}.z-0{z-index:0}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-auto{margin-bottom:auto}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1/1}.h-12{height:3rem}.h-16{height:4rem}.h-40{height:10rem}.h-48{height:12rem}.h-64{height:16rem}.h-96{height:24rem}.h-\[600px\]{height:600px}.h-\[700px\]{height:700px}.h-auto{height:auto}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.w-12{width:3rem}.w-16{width:4rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-96{width:24rem}.w-\[600px\]{width:600px}.w-\[700px\]{width:700px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-2,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.translate-y-8{--tw-translate-y:2rem}.-rotate-1,.translate-y-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-1{--tw-rotate:-1deg}.rotate-2{--tw-rotate:2deg}.rotate-2,.scale-125{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-mt-32{scroll-margin-top:8rem}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#D0A550\]{--tw-border-opacity:1;border-color:rgb(208 165 80/var(--tw-border-opacity,1))}.border-\[\#E9504A\]{--tw-border-opacity:1;border-color:rgb(233 80 74/var(--tw-border-opacity,1))}.border-\[\#E9504A\]\/10{border-color:rgba(233,80,74,.1)}.border-\[\#E9504A\]\/20{border-color:rgba(233,80,74,.2)}.border-\[\#FFE4E4\]{--tw-border-opacity:1;border-color:rgb(255 228 228/var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.bg-\[\#D0A550\]{--tw-bg-opacity:1;background-color:rgb(208 165 80/var(--tw-bg-opacity,1))}.bg-\[\#E9504A\]{--tw-bg-opacity:1;background-color:rgb(233 80 74/var(--tw-bg-opacity,1))}.bg-\[\#E9504A\]\/10{background-color:rgba(233,80,74,.1)}.bg-\[\#E9504A\]\/5{background-color:rgba(233,80,74,.05)}.bg-\[\#FFD1D1\]{--tw-bg-opacity:1;background-color:rgb(255 209 209/var(--tw-bg-opacity,1))}.bg-\[\#FFE4E4\]{--tw-bg-opacity:1;background-color:rgb(255 228 228/var(--tw-bg-opacity,1))}.bg-\[\#FFF5F5\]{--tw-bg-opacity:1;background-color:rgb(255 245 245/var(--tw-bg-opacity,1))}.bg-\[\#FFF5F5\]\/60{background-color:hsla(0,100%,98%,.6)}.bg-\[\#f8f8f8\]{--tw-bg-opacity:1;background-color:rgb(248 248 248/var(--tw-bg-opacity,1))}.bg-\[\#fafafa\]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/cubes\.png\'\)\]{background-image:url(https://www.transparenttextures.com/patterns/cubes.png)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#D0A550\]{--tw-gradient-from:#d0a550 var(--tw-gradient-from-position);--tw-gradient-to:rgba(208,165,80,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/90{--tw-gradient-from:rgba(0,0,0,.9) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#E9504A\]{--tw-gradient-to:rgba(233,80,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#e9504a var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#D0A550\]{--tw-gradient-to:#d0a550 var(--tw-gradient-to-position)}.to-\[\#E9504A\]{--tw-gradient-to:#e9504a var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.object-bottom{-o-object-position:bottom;object-position:bottom}.p-0{padding:0}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pt-0{padding-top:0}.pt-12{padding-top:3rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-body{font-family:Inter,sans-serif}.font-display{font-family:Playfair Display,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-loose{line-height:2}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#1c1917\]{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.text-\[\#52525b\]{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-\[\#D0A550\]{--tw-text-opacity:1;color:rgb(208 165 80/var(--tw-text-opacity,1))}.text-\[\#E9504A\]{--tw-text-opacity:1;color:rgb(233 80 74/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-hero-bold{--tw-text-opacity:1;color:rgb(233 80 74/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-\[\#E9504A\]\/20{--tw-shadow-color:rgba(233,80,74,.2);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#E9504A\]\/30{--tw-shadow-color:rgba(233,80,74,.3);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.blur-\[120px\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur:blur(120px)}.blur-\[150px\]{--tw-blur:blur(150px)}.blur-\[150px\],.blur-\[80px\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur:blur(80px)}.blur-\[90px\]{--tw-blur:blur(90px)}.blur-\[90px\],.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-75{transition-delay:75ms}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.open\:shadow-md[open]{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:rotate-0:hover{--tw-rotate:0deg}.hover\:rotate-0:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:border-\[\#E9504A\]:hover{--tw-border-opacity:1;border-color:rgb(233 80 74/var(--tw-border-opacity,1))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-\[\#D0A550\]:hover{--tw-text-opacity:1;color:rgb(208 165 80/var(--tw-text-opacity,1))}.hover\:text-\[\#E9504A\]:hover{--tw-text-opacity:1;color:rgb(233 80 74/var(--tw-text-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.hover\:shadow-\[\#E9504A\]\/10:hover{--tw-shadow-color:rgba(233,80,74,.1);--tw-shadow:var(--tw-shadow-colored)}.group[open] .group-open\:rotate-180{--tw-rotate:180deg}.group:hover .group-hover\:translate-y-0,.group[open] .group-open\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px}.group:hover .group-hover\:bg-\[\#D0A550\]{--tw-bg-opacity:1;background-color:rgb(208 165 80/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#E9504A\]{--tw-bg-opacity:1;background-color:rgb(233 80 74/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:block{display:block}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:-mt-8{margin-top:-2rem}.md\:block{display:block}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-12{padding:3rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-72{width:18rem}.lg\:flex-1{flex:1 1 0%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:gap-8{gap:2rem}.lg\:p-10{padding:2.5rem}.lg\:p-14{padding:3.5rem}.lg\:p-16{padding:4rem}.lg\:p-7{padding:1.75rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pt-32{padding-top:8rem}.lg\:text-left{text-align:left}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem}.lg\:text-5xl,.lg\:text-6xl{line-height:1}.lg\:text-6xl{font-size:3.75rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-lg,.lg\:text-xl{line-height:1.75rem}.lg\:text-xl{font-size:1.25rem}}@media (min-width:1280px){.xl\:text-7xl{font-size:4.5rem;line-height:1}}

/* --- 2. MASTER RENOVATIO THEME STYLES & MODULES --- */
/* ==========================================================================
   ÓPTICA RENOVATIO - MASTER STYLESHEET
   Unificación de Módulos (Home, Tienda, Servicios, Nosotros, Políticas)
   ========================================================================== */

/* --- 1. VARIABLES GLOBALES --- */
:root {
    /* Paleta de Colores Principal */
    --rv-black: #000000;
    --rv-gold: #D0A550;
    --rv-pink: #E9504A;
    --rv-pink-hover: #c43e38;
    --rv-bg-white: #ffffff;
    --rv-bg-soft: #FFF5F5;
    --rv-bg-gray: #fafafa;
    
    /* Escala de Grises */
    --rv-gray-100: #F3F4F6;
    --rv-gray-200: #E5E7EB;
    --rv-gray-400: #9CA3AF;
    --rv-gray-500: #6B7280;
    --rv-gray-900: #111827;

    /* Sombras y Radios */
    --rv-shadow-luxury: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    --rv-shadow-card: 0 10px 30px rgba(0, 0, 0, 0.08);
    --rv-radius: 16px;
    
    /* Layout Variables (compatibilidad con IDs legacy) */
    --header-height: 4rem;
    --wp-admin-bar: 0px;
    --ob-primary: var(--rv-black);
    --ob-accent: var(--rv-gold);
    --ob-pink: var(--rv-pink);
    --ob-bg: var(--rv-bg-white);
    --cta-pink: var(--rv-pink);
    --cta-accent: var(--rv-gold);
    --unified-radius: var(--rv-radius);
}

/* Ajustes barra de administración WP */
.admin-bar { --wp-admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --wp-admin-bar: 46px; } }
@media (max-width: 1024px) { :root { --header-height: 3.5rem; } }

/* --- 2. BASE, TIPOGRAFÍA Y UTILIDADES --- */
html { scroll-behavior: smooth; }
html, body { height: 100%; overflow-x: hidden; }
body {
    margin: 0; padding: 0;
    font-family: 'Inter', sans-serif;
    color: var(--rv-black);
    background-color: var(--rv-bg-white);
    -webkit-font-smoothing: antialiased;
}

/* Elementor HTML widget a ancho completo — NO eliminar en modo Elementor */
.elementor-widget-html {
    width: 100vw !important; position: relative;
    left: 50%; right: 50%; margin-left: -50vw !important; margin-right: -50vw !important;
}

/* Tipografía */
.font-display { font-family: 'Playfair Display', serif !important; }
.font-body { font-family: 'Lato', sans-serif !important; }
.font-sans { font-family: 'Inter', sans-serif !important; }
.font-index { font-family: 'Cormorant Garamond', serif !important; }

/* Contenedores de Sección */
.fp-section {
    min-height: 100vh; width: 100%; position: relative;
    display: flex; flex-direction: column; justify-content: center;
    align-items: center; overflow: hidden; box-sizing: border-box;
}

/* --- 3. COMPONENTES GLOBALES (Botones y Orbes) --- */
.btn-renovatio, .btn-black, .btn-white, .btn-outline-dark, .btn-white-outline, .ren-btn-checkout, .btn-outline-gold {
    padding: 0.875rem 2rem; border-radius: 50px; font-weight: 700;
    letter-spacing: 1px; transition: all 0.3s ease; display: inline-flex;
    align-items: center; justify-content: center; min-height: 48px;
    font-size: 0.85rem; cursor: pointer; border: none; text-decoration: none !important;
}
.btn-renovatio, .ren-btn-checkout { background: var(--rv-pink) !important; color: white !important; }
.btn-renovatio:hover, .ren-btn-checkout:hover { background: var(--rv-pink-hover) !important; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(233, 80, 74, 0.3); }

.btn-black { background: var(--rv-black) !important; color: white !important; }
.btn-black:hover { background: #333 !important; transform: translateY(-2px); }

.btn-white { background: white !important; color: var(--rv-black) !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }
.btn-white:hover { background: var(--rv-gold) !important; color: white !important; transform: translateY(-2px); }

.btn-outline-dark { background: transparent; color: var(--rv-black); border: 2px solid rgba(0, 0, 0, 0.2); }
.btn-outline-dark:hover { background: var(--rv-black); color: white !important; border-color: var(--rv-black); transform: translateY(-2px); }

.btn-white-outline { background: transparent; border: 1px solid white; color: white !important; }
.btn-white-outline:hover { background: white !important; color: var(--rv-black) !important; transform: translateY(-2px); }

.btn-outline-gold { background: transparent; color: var(--rv-gold); border: 2px solid var(--rv-gold); }
.btn-outline-gold:hover { background: var(--rv-gold) !important; color: white !important; border-color: var(--rv-gold); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(208, 165, 80, 0.3); }

/* Atmósferas Globales (Orbes flotantes) */
.atmo-orb { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(80px); opacity: 0.4; }
.loading-pulse {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%; animation: loading-shimmer 1.5s infinite;
}

/* --- 4. HEADER --- */
#renovatio-header-module { font-family: 'Lato', sans-serif; }
.ob-header {
    position: fixed; top: var(--wp-admin-bar); left: 0; width: 100%;
    height: var(--header-height); background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 9999; display: flex; align-items: center; justify-content: space-between;
    padding: 0 5%; transition: all 0.4s ease;
}
.ob-header.scrolled { background: rgba(255, 255, 255, 0.95); border-bottom: 1px solid rgba(0, 0, 0, 0.05); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08); }
.ob-logo-img { max-height: 36px; width: auto; object-fit: contain; }
.ob-nav-menu { flex-grow: 1; display: flex; justify-content: center; height: 100%; }
.ob-menu-list { display: flex; list-style: none; gap: 2.5rem; height: 100%; align-items: center; margin: 0; padding: 0; }
.ob-menu-item > a { color: var(--rv-black); text-transform: uppercase; font-size: 0.75rem; font-weight: 700; letter-spacing: 2px; transition: color 0.3s; text-decoration: none; }
.ob-menu-item > a:hover { color: var(--rv-gold); }

/* Header Dropdown */
.ob-has-dropdown { position: relative; }
.ob-has-dropdown > a { display: flex; align-items: center; }
.ob-dropdown {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(10px);
    background: white; border-radius: 12px; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    min-width: 220px; padding: 0.75rem 0; list-style: none; opacity: 0; visibility: hidden;
    transition: all 0.3s ease; z-index: 100; margin: 0;
}
.ob-has-dropdown:hover .ob-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.ob-dropdown li a { display: block; padding: 0.75rem 1.5rem; color: var(--rv-black) !important; font-size: 0.8rem; text-decoration: none; transition: 0.3s ease; }
.ob-dropdown li a:hover { background: #f8f8f8; color: var(--rv-gold) !important; padding-left: 1.75rem; }

/* Header Acciones & Carrito */
.ob-header-actions { display: flex; gap: 1.25rem; align-items: center; height: 100%; }
.ob-action-btn { background: transparent !important; border: none; cursor: pointer; font-size: 1.35rem; color: var(--rv-black); transition: color 0.3s ease; padding: 0.5rem; display: flex; align-items: center; outline: none; text-decoration: none; }
.ob-action-btn:hover { color: var(--rv-gold); }
.cart-icon-wrapper { position: relative; display: flex; align-items: center; }
.header-cart-badge {
    position: absolute; top: -4px; right: -6px; background-color: var(--rv-black);
    color: white; font-size: 9px; font-weight: 700; height: 15px; min-width: 15px;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    border: 2px solid #ffffff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.header-spacer { height: calc(var(--header-height) + var(--wp-admin-bar, 0px)); }

/* Header Búsqueda & Overlay Móvil (Resumen) */
.ob-search-overlay, .ob-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(4px); z-index: 100002; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.ob-search-overlay.active, .ob-overlay.active { opacity: 1; visibility: visible; }
.ob-search-panel { position: fixed; top: 0; left: 0; width: 100%; background: white; z-index: 10004; transform: translateY(-100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); }
.ob-search-panel.active { transform: translateY(0); }
.ob-mobile-menu { position: fixed; top: 0; right: -100%; width: 85%; max-width: 320px; height: 100vh; background: white; z-index: 100003; transition: right 0.4s; padding: 2rem; display: flex; flex-direction: column; gap: 1.5rem; box-shadow: -5px 0 25px rgba(0,0,0,0.15); }
.ob-mobile-menu.active { right: 0; }
.ob-search-input { width: 100%; padding: 1rem 1.25rem 1rem 3rem; font-size: 1rem; border: 2px solid #eee; border-radius: 50px; outline: none; transition: 0.3s; }
.ob-search-input:focus { border-color: var(--rv-pink); box-shadow: 0 0 0 4px rgba(233, 80, 74, 0.1); }
.ob-search-submit { background: var(--rv-pink); color: white; border: none; padding: 1rem 2rem; border-radius: 50px; font-weight: 700; cursor: pointer; transition: 0.3s; display: flex; align-items: center; gap: 0.5rem; }

/* --- 5. TARJETAS DE PRODUCTO GLOBALES (Home y Tienda) --- */
.rv-product-card, .carousel-card {
    background: white; border-radius: var(--rv-radius); overflow: hidden;
    box-shadow: var(--rv-shadow-card); transition: all 0.3s ease; border: 1px solid #f0f0f0; cursor: pointer;
    display: flex; flex-direction: column;
}
.rv-product-card:hover, .carousel-card:hover { transform: translateY(-8px); box-shadow: var(--rv-shadow-luxury); border-color: transparent; }
.product-img-wrap, .card-img-wrap, .product-img-container { position: relative; background: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.product-img-wrap { aspect-ratio: 4/5; }
.card-img-wrap { height: 220px; }
.product-img, .card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; pointer-events: none; }
.rv-product-card:hover .product-img, .carousel-card:hover .card-img-wrap img { transform: scale(1.08); }

.product-category, .card-category { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--rv-pink); margin: 0 0 0.25rem 0; }
.product-info h3, .card-title { font-family: 'Playfair Display', serif; font-weight: 700; color: var(--rv-gray-900); transition: color 0.3s; line-height: 1.3; margin: 0 0 0.5rem 0;}
.product-info h3 { font-size: 0.95rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.card-title { font-size: 1rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.rv-product-card:hover .product-info h3, .carousel-card:hover .card-title { color: var(--rv-pink); }
.product-price, .card-price { color: var(--rv-gold); font-weight: 700; font-size: 1rem; }

/* Botones Quick Add */
.quick-add, .btn-add-cart {
    position: absolute; bottom: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem;
    border-radius: 50%; background: white; display: flex; align-items: center; justify-content: center;
    color: var(--rv-gray-900); border: none; cursor: pointer; transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); z-index: 5;
}
.quick-add { opacity: 0; transform: translateY(20px); }
.btn-add-cart { bottom: 0.75rem; right: 0.75rem; width: 2.5rem; height: 2.5rem; opacity: 0; transform: scale(0.8); }
.rv-product-card:hover .quick-add { transform: translateY(0); opacity: 1; }
.carousel-card:hover .btn-add-cart { opacity: 1; transform: scale(1); }
.quick-add:hover, .btn-add-cart:hover { background: var(--rv-pink); color: white; transform: scale(1.1); box-shadow: 0 10px 25px rgba(233, 80, 74, 0.3); }


/* --- 6. HOME MODULES --- */
/* Home Hero */
#renovatio-home-hero {
    background: var(--rv-bg-soft);
    min-height: calc(100vh - var(--header-height));
    height: auto;
    padding: 3rem 5%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}
#renovatio-home-hero .hero-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    z-index: 2;
}
/* Atmósfera de orbes */
#renovatio-home-hero .pink-atmosphere {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}
#renovatio-home-hero .atmo-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
}
#renovatio-home-hero .atmo-orb-1 {
    width: 40vw; height: 40vw;
    max-width: 500px;
    background: radial-gradient(circle, rgba(255,182,193,0.6) 0%, rgba(233,80,74,0.3) 50%, transparent 70%);
    top: -10%; left: -10%;
}
#renovatio-home-hero .atmo-orb-2 {
    width: 35vw; height: 35vw;
    max-width: 450px;
    background: radial-gradient(circle, rgba(255,218,185,0.5) 0%, rgba(208,165,80,0.2) 50%, transparent 70%);
    bottom: -5%; right: -5%;
}
/* Card del producto */
#renovatio-home-hero .hero-product-card {
    background: white;
    border-radius: var(--rv-radius);
    box-shadow: var(--rv-shadow-luxury);
    transition: all 0.5s ease;
    border: 1px solid rgba(255,255,255,0.2);
}
/* Texto resaltado en el título */
#renovatio-home-hero .text-hero-bold {
    color: var(--rv-pink);
    font-weight: 900;
}
/* Botón dorado circular "ver producto" */
#renovatio-home-hero .btn-gold-icon {
    width: 48px; height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--rv-gold);
    display: flex; align-items: center; justify-content: center;
    transition: 0.3s;
    text-decoration: none !important;
    flex-shrink: 0;
}
#renovatio-home-hero .btn-gold-icon:hover { background: #b88d3b; transform: scale(1.1); }
/* Botones de navegación del carrusel */
#renovatio-home-hero .hero-product-nav {
    display: flex; justify-content: center; gap: 0.5rem; margin-top: 1rem;
}
#renovatio-home-hero .hero-nav-btn {
    width: 40px; height: 40px; min-width: 40px; min-height: 40px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--rv-gold);
    border: none;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: 0.3s;
    color: white; padding: 0; line-height: 1;
    box-shadow: 0 4px 12px rgba(208,165,80,0.3);
}
#renovatio-home-hero .hero-nav-btn:hover { background: #b88d3b; transform: scale(1.1); }
/* Indicador de scroll */
#renovatio-home-hero .scroll-indicator {
    position: absolute; bottom: 2.5rem; left: 50%;
    transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
    color: var(--rv-pink); opacity: 0.9;
    animation: bounce 2s infinite;
    z-index: 10; cursor: pointer; font-weight: 600;
}
/* Responsive hero */
@media (max-width: 768px) {
    #renovatio-home-hero {
        min-height: calc(100svh - var(--header-height));
        padding: 1.5rem 1.5rem 4rem;
    }
    #renovatio-home-hero .hero-product-card { margin-bottom: 2rem; }
    #renovatio-home-hero .scroll-indicator { bottom: 1rem; }
}
/* Imagen dinámica con transición de opacidad */
#renovatio-home-hero .hero-dynamic-content { opacity: 1; transition: opacity 0.5s ease; }
/* Spinner de carga sobre la imagen del producto */
#renovatio-home-hero .hero-loading {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: #f8f8f8;
}
#renovatio-home-hero .hero-loading i { font-size: 2rem; color: #ccc; animation: spin 1s linear infinite; }
/* Botón circular para ver producto — mismo color que el CTA */
#renovatio-home-hero .btn-gold-icon {
    width: 48px; height: 48px; min-width: 48px;
    border-radius: 50%;
    background: var(--rv-pink);
    display: flex; align-items: center; justify-content: center;
    transition: 0.3s; text-decoration: none !important; flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(233,80,74,0.3);
}
#renovatio-home-hero .btn-gold-icon:hover { background: var(--rv-pink-hover); transform: scale(1.1); }
/* Keyframe spin (para loader del hero) */
@keyframes spin { to { transform: rotate(360deg); } }

/* Home Colecciones */
#renovatio-home-collections { background: var(--rv-bg-gray); padding: 4rem 5%; }
#renovatio-home-collections .collections-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; justify-content: center; }
#renovatio-home-collections .collection-card { position: relative; border-radius: var(--rv-radius); overflow: hidden; box-shadow: var(--rv-shadow-card); aspect-ratio: 3/4; transition: 0.3s; background: #000; display: block; }
#renovatio-home-collections .collection-card img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s; opacity: 0.85; }
#renovatio-home-collections .collection-card:hover img { transform: scale(1.1); opacity: 0.75; }
#renovatio-home-collections .collection-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 2.5rem 1.25rem 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.98), transparent); color: white; display: flex; flex-direction: column; justify-content: flex-end; }

/* Home Productos (Carousel) */
#renovatio-home-products { background: var(--rv-bg-soft); padding: 4rem 0; }
#renovatio-home-products .carousel-track { display: flex; gap: 1.5rem; width: max-content; animation: products-scroll 45s linear infinite; cursor: grab; }
#renovatio-home-products .carousel-track:hover, #renovatio-home-products .carousel-track.dragging { animation-play-state: paused; }
#renovatio-home-products .carousel-card { flex: 0 0 260px; min-width: 260px; }

/* Home Testimonios & Marcas */
#renovatio-home-testimonials {
    background: #FFF5F5 !important;
    padding: 4rem 5% 3rem !important;
    min-height: auto !important;
    height: auto !important;
}

#renovatio-home-testimonials .testimonial-marquee {
    overflow: hidden !important;
    width: 100% !important;
}

#renovatio-home-testimonials .testimonial-track {
    display: flex !important;
    gap: 1.5rem !important;
    animation: marquee 60s linear infinite !important;
    width: max-content !important;
}

#renovatio-home-testimonials .testimonial-track:hover {
    animation-play-state: paused !important;
}

#renovatio-home-testimonials .testimonial-card { background: white; border-radius: var(--rv-radius); padding: 1.5rem; text-align: center; box-shadow: 0 15px 25px -5px rgba(0,0,0,0.08); min-width: 18rem; border: 1px solid #f0f0f0; }
#renovatio-home-testimonials .brand-logo { height: 50px; max-width: 140px; object-fit: contain; filter: grayscale(40%); opacity: 0.8; transition: 0.3s; }
#renovatio-home-testimonials .brand-logo:hover { filter: grayscale(0%); opacity: 1; transform: scale(1.05); }

/* Home Video */
#renovatio-home-video { min-height: 80vh; position: relative; color: white; text-align: center; }
#renovatio-home-video .hero-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
#renovatio-home-video .hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.5); z-index: 1; }

/* Home Instagram */
#renovatio-home-instagram { background: var(--rv-bg-gray); padding: 4rem 5%; }
#renovatio-home-instagram #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(6, 1fr) !important; gap: 1rem !important; }
#renovatio-home-instagram #sb_instagram .sbi_item { width: 100% !important; padding: 0 !important; }

/* --- 7. TIENDA Y CATÁLOGO --- */
#renovatio-shop-hero { padding-top: 6rem; padding-bottom: 4rem; text-align: center; position: relative; overflow: hidden; background: var(--rv-bg-soft); }
#renovatio-shop-hero .category-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 2rem; }
#renovatio-shop-hero .filter-btn { background: white; color: var(--rv-black); padding: 0.75rem 1.5rem; border-radius: 50px; font-weight: 700; font-size: 0.7rem; text-transform: uppercase; border: 1px solid #eee; cursor: pointer; transition: 0.3s; }
#renovatio-shop-hero .filter-btn.active, #renovatio-shop-hero .filter-btn:hover { background: var(--rv-black); color: white; border-color: var(--rv-black); }

#renovatio-shop-grid { background: var(--rv-bg-white); padding: 4rem 1.5rem; }
#renovatio-shop-grid .products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
#renovatio-shop-grid .shop-toolbar { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rv-gray-100); }

#renovatio-cta-widget .renovatio-cta-area { background: linear-gradient(135deg, var(--rv-pink) 0%, #d63f3a 100%); color: white; padding: 4rem 2rem; text-align: center; }

/* Tienda Sidebar / Acordeón */
.widget-yith { margin-bottom: 2.5rem; }
.yith-wcca-list > li > a { display: flex; justify-content: space-between; padding: 0.5rem 0; color: #555; font-size: 0.9rem; transition: 0.3s; cursor: pointer; text-decoration: none;}
.yith-wcca-list > li > a:hover { color: var(--rv-gold); padding-left: 5px; }
.yith-wcca-list li.active > a { color: var(--rv-black); font-weight: 700; }
.yith-wcca-submenu { padding-left: 1rem; border-left: 1px solid #eee; margin-top: 0.25rem; display: none; list-style: none; }

/* --- 8. SOBRE NOSOTROS --- */
#renovatio-about-hero .hero-fullscreen { height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; background: var(--rv-bg-soft); }
#renovatio-about-hero .scroll-indicator { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 50; cursor: pointer; }
#renovatio-about-content .story-nav { position: sticky; top: 120px; max-height: calc(100vh - 160px); overflow-y: auto; }
#renovatio-about-content .story-link { display: flex; gap: 0.75rem; padding: 0.65rem 0; color: #888; text-decoration: none; transition: 0.3s; position: relative; }
#renovatio-about-content .story-link.active { color: var(--rv-black); font-weight: 700; }
#renovatio-about-content .story-link::before { content: ''; position: absolute; left: -1rem; width: 2px; height: 0; background: var(--rv-gold); transition: 0.3s; }
#renovatio-about-content .story-link.active::before { height: 100%; }
#renovatio-about-content .story-section { padding: 5rem 0; border-bottom: 1px solid #f0f0f0; }

/* --- 9. SERVICIOS --- */
#renovatio-services-hero, #renovatio-aesthet-hero, #renovatio-clinical-hero, #renovatio-integral-hero, #renovatio-integral-content { background: var(--rv-bg-soft); }
#renovatio-integral-hero { background: var(--rv-bg-soft); }
#renovatio-services-content .service-card-img { transition: transform 0.8s ease; width: 100%; height: 100%; object-fit: cover; }
#renovatio-services-content .group:hover .service-card-img { transform: scale(1.05); }

/* FAQ Interno de Servicios y Estilos Compartidos */
#renovatio-aesthet-content details > summary, #renovatio-clinical-content details > summary, #renovatio-integral-content details > summary { list-style: none; }
#renovatio-aesthet-content details > summary::-webkit-details-marker, #renovatio-clinical-content details > summary::-webkit-details-marker, #renovatio-integral-content details > summary::-webkit-details-marker { display: none; }
#renovatio-aesthet-content details[open] summary ~ *, #renovatio-clinical-content details[open] summary ~ *, #renovatio-integral-content details[open] summary ~ * { animation: sweep .3s ease-in-out; }
#renovatio-aesthet-content details[open] .icon-toggle, #renovatio-clinical-content details[open] .icon-toggle, #renovatio-integral-content details[open] .icon-toggle { transform: rotate(180deg); color: var(--rv-pink); }

/* --- 10. POLÍTICAS Y GARANTÍAS / TÉRMINOS LEGALES --- */
#renovatio-policies-hero, #renovatio-terms-hero { background: var(--rv-bg-soft); }
#renovatio-policies-content .legal-nav, #renovatio-terms-content .legal-nav { position: sticky; top: 150px; }
#renovatio-policies-content .legal-nav .index-title, #renovatio-terms-content .legal-nav .index-title { font-family: 'Cormorant Garamond', serif; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--rv-gold); margin-bottom: 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(208, 165, 80, 0.3); }
#renovatio-policies-content .legal-nav a, #renovatio-terms-content .legal-nav a { display: block; padding: 0.6rem 0; font-family: 'Cormorant Garamond', serif; color: #666; font-size: 1rem; font-weight: 500; transition: all 0.3s ease; border-left: 2px solid transparent; padding-left: 1rem; text-decoration: none; letter-spacing: 0.02em; }
#renovatio-policies-content .legal-nav a:hover, #renovatio-terms-content .legal-nav a:hover { color: var(--rv-gold); border-left-color: var(--rv-gold); padding-left: 1.25rem; }
#renovatio-policies-content .legal-nav a.active, #renovatio-terms-content .legal-nav a.active { color: var(--rv-gold); border-left-color: var(--rv-gold); font-weight: 700; }
#renovatio-policies-content .legal-nav a.highlight-link, #renovatio-terms-content .legal-nav a.highlight-link { color: var(--rv-pink); font-weight: 600; }
#renovatio-policies-content .legal-nav a.highlight-link:hover, #renovatio-policies-content .legal-nav a.highlight-link.active, #renovatio-terms-content .legal-nav a.highlight-link:hover, #renovatio-terms-content .legal-nav a.highlight-link.active { color: var(--rv-pink); border-left-color: var(--rv-pink); }
#renovatio-policies-content .legal-content h2, #renovatio-terms-content .legal-content h2 { border-left: 3px solid var(--rv-gold); padding-left: 1rem; margin-top: 2.5rem; margin-bottom: 1rem; font-family: 'Playfair Display', serif; }
#renovatio-policies-content .legal-content p, #renovatio-policies-content .legal-content ul, #renovatio-policies-content .legal-content ol, #renovatio-terms-content .legal-content p, #renovatio-terms-content .legal-content ul, #renovatio-terms-content .legal-content ol { font-family: 'Lato', sans-serif; color: #555; line-height: 1.8; margin-bottom: 1.5rem; font-size: 0.95rem; }

/* --- 11. FOOTER & SIDE CART --- */
.ob-footer-wrapper {
    background-color: var(--rv-black); color: var(--rv-bg-white);
    width: 100vw; position: relative; left: 50%; right: 50%;
    margin-left: -50vw; margin-right: -50vw;
    padding: 4rem 5% 2rem; box-sizing: border-box;
}
.ob-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 3rem; max-width: 1400px; margin: 0 auto; }
.ob-logo { max-width: 160px; filter: brightness(0) invert(1); margin-bottom: 1.2rem; display: block; }
.ob-desc { color: #aaa; font-size: 0.9rem; line-height: 1.6; margin-bottom: 1.5rem; max-width: 300px; }
.ob-title { font-family: 'Playfair Display', serif; color: white; font-size: 1.1rem; margin-bottom: 1.2rem; position: relative; display: inline-block; }
.ob-title::after { content: ''; position: absolute; left: 0; bottom: -5px; width: 30px; height: 2px; background: var(--rv-gold); }
.ob-list { list-style: none; padding: 0; margin: 0; }
.ob-list li { margin-bottom: 0.6rem; }
.ob-list a { text-decoration: none; color: #999; font-size: 0.95rem; transition: 0.3s; display: flex; align-items: center; gap: 6px; }
.ob-list a:hover { color: var(--rv-gold); transform: translateX(5px); }
.ob-socials { display: flex; gap: 10px; }
.ob-social-icon { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: white; transition: 0.3s; text-decoration: none; font-size: 1.1rem; }
.ob-social-icon:hover { background: var(--rv-pink); transform: translateY(-3px); }
.ob-contact-row { display: flex; gap: 10px; margin-bottom: 1rem; color: #aaa; font-size: 0.9rem; align-items: flex-start; }
.ob-contact-row i { color: var(--rv-gold); font-size: 1.2rem; flex-shrink: 0; }
.ob-contact-row a { color: #aaa; text-decoration: none; transition: 0.3s; }
.ob-contact-row a:hover { color: white; }
.ob-bottom { border-top: 1px solid rgba(255,255,255,0.1); margin-top: 3rem; padding-top: 2rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; max-width: 1400px; margin-left: auto; margin-right: auto; }
.ob-bottom span { color: #666; font-size: 0.85rem; }
.ob-legal a { color: #666; margin-left: 15px; text-decoration: none; font-size: 0.85rem; transition: 0.3s; }
.ob-legal a:hover { color: white; }

/* Side Cart (Drawer) */
.ren-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(5px); z-index: 999998 !important; opacity: 0; visibility: hidden; transition: 0.4s; pointer-events: none; }
.ren-overlay.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.ren-drawer {
    position: fixed; top: 0; right: 0; bottom: 0; width: 100%; max-width: 450px; height: 100vh;
    background: var(--rv-bg-white); z-index: 999999 !important; box-shadow: -10px 0 50px rgba(0,0,0,0.2);
    transform: translateX(110%); transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    display: flex; flex-direction: column;
}
.ren-drawer.is-active { transform: translateX(0); }
.ren-cart-head { padding: 1.5rem; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; display: flex; justify-content: space-between; align-items: center; }
.ren-cart-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; margin: 0; color: black; font-weight: 700; }
.ren-count { background: black; color: white; font-size: 0.75rem; padding: 2px 8px; border-radius: 10px; position: relative; top: -3px; }
.ren-close {
    background: transparent !important; border: none !important; outline: none !important;
    box-shadow: none !important; font-size: 1.8rem; cursor: pointer; color: #aaa;
    padding: 0; line-height: 1; transition: 0.3s;
}
.ren-close:hover { color: var(--rv-pink) !important; transform: rotate(90deg); background: transparent !important; }
.ren-cart-body { flex-grow: 1; overflow-y: auto; padding: 1.5rem; position: relative; background: white; }
.ren-loader { position: absolute; inset: 0; background: rgba(255,255,255,0.8); z-index: 50; display: none; align-items: center; justify-content: center; }
.ren-drawer.processing .ren-loader { display: flex; }
.ren-item { display: flex; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #f5f5f5; position: relative; }
.ren-img { width: 80px; height: 100px; object-fit: cover; border-radius: 6px; background: #f9f9f9; }
.ren-info { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.ren-prod-name { font-weight: 700; font-size: 1rem; color: black; text-decoration: none; margin: 0 0 4px; display: block; line-height: 1.2; }
.ren-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.ren-qty-box { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 50px; height: 32px; }
.ren-qty-btn {
    background: transparent !important; border: none !important; width: 30px; height: 100%;
    font-size: 1.1rem; color: #555; cursor: pointer; display: flex; align-items: center;
    justify-content: center; outline: none !important; box-shadow: none !important;
}
.ren-qty-btn:hover { color: black !important; background: transparent !important; }
.ren-qty-input { width: 30px; border: none; text-align: center; font-weight: bold; font-size: 0.9rem; outline: none; -moz-appearance: textfield; background: transparent !important; }
.ren-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ren-price { font-weight: 700; color: var(--rv-gold); font-size: 1rem; }
.ren-remove {
    position: absolute; top: 0; right: 0; background: transparent !important; border: none !important;
    font-size: 1.2rem; color: #ccc; cursor: pointer; display: flex; padding: 5px;
    outline: none !important; box-shadow: none !important;
}
.ren-remove:hover { color: var(--rv-pink) !important; background: transparent !important; }
.ren-cart-foot { padding: 1.5rem 1.5rem 2rem; border-top: 1px solid #f0f0f0; background: white; flex-shrink: 0; box-shadow: 0 -5px 20px rgba(0,0,0,0.03); }
.ren-subtotal { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1rem; }
.ren-lbl { text-transform: uppercase; font-size: 0.75rem; font-weight: 700; color: #888; letter-spacing: 1px; }
.ren-tot-val { font-family: 'Playfair Display', serif; font-size: 1.8rem; font-weight: 700; color: black; }
.ren-btn-checkout {
    display: block; width: 100%; padding: 1rem; background: var(--rv-pink); color: white;
    text-align: center; border-radius: 50px; text-decoration: none; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px; font-size: 0.9rem; transition: 0.3s; border: none; box-sizing: border-box;
}
.ren-btn-checkout:hover { background: var(--rv-pink-hover); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(233,80,74,0.3); color: white !important; }
.ren-link-back { display: block; text-align: center; margin-top: 1rem; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; color: black; text-decoration: none; }
.ren-link-back:hover { text-decoration: underline; color: var(--rv-pink); }

/* Footer responsive */

/* --- 12. ANIMACIONES GLOBALES --- */

/* --- HOME: ROSTROS (Polaroid) --- */
#renovatio-home-faces { background: var(--rv-bg-gray); padding: 5rem 5%; overflow: hidden; }
#renovatio-home-faces .faces-container { max-width: 1200px; margin: 0 auto; }
.polaroid-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; margin-top: 3rem; }
.polaroid-item {
    background: white; padding: 1rem 1rem 3rem 1rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transform: rotate(var(--rotation, -2deg));
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer; position: relative;
}
.polaroid-item:nth-child(even) { --rotation: 3deg; margin-top: 1rem; }
.polaroid-item:hover { transform: rotate(0deg) scale(1.05); z-index: 10; box-shadow: 0 15px 35px rgba(233, 80, 74, 0.2); }
.polaroid-img-wrap { width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #eee; margin-bottom: 1.5rem; border: 1px solid #f0f0f0; }
.polaroid-img-wrap img { width: 100%; height: 100%; object-fit: cover; filter: sepia(0.2) contrast(1.1); }
.polaroid-text { font-family: 'Permanent Marker', cursive, sans-serif; text-align: center; color: #333; font-size: 1.1rem; line-height: 1.2; }
.polaroid-text small { display: block; font-family: 'Lato', sans-serif; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; color: var(--rv-pink); margin-top: 0.5rem; font-weight: 700; }

/* --- TIENDA: FILTRO OFERTAS EN SIDEBAR --- */
#rv-shop-module .rv-filter-ofertas {
    color: var(--rv-pink) !important;
    font-weight: 700 !important;
}
#rv-shop-module .rv-filter-ofertas:hover,
#rv-shop-module .rv-filter-ofertas.rv-active {
    color: var(--rv-pink) !important;
    font-weight: 800 !important;
    padding-left: 5px;
}

/* --- TIENDA: SECCIÓN GIFT CARDS --- */
.rv-giftcards-section {
    margin-top: 5rem;
    padding: 5rem 0 4rem;
    border-top: 1px solid rgba(233, 80, 74, 0.08);
    position: relative;
    overflow: hidden;
}
.rv-giftcards-section::before {
    content: '';
    position: absolute;
    top: -6rem; right: -6rem;
    width: 30rem; height: 30rem;
    background: radial-gradient(circle, rgba(208,165,80,0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

/* Header */
.rv-giftcards-header {
    margin-bottom: 3rem;
    text-align: center;
}
.rv-giftcards-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--rv-gold);
    background: rgba(208, 165, 80, 0.08);
    padding: 0.4rem 1rem;
    border-radius: 2rem;
    margin-bottom: 0.75rem;
    border: 1px solid rgba(208, 165, 80, 0.2);
}
.rv-giftcards-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--rv-black);
    margin: 0.5rem 0 0.75rem;
    line-height: 1.15;
}
@media (min-width: 768px) { .rv-giftcards-title { font-size: 2.8rem; } }
.rv-giftcards-desc {
    color: var(--rv-gray-500);
    font-size: 0.95rem;
    max-width: 480px;
    margin: 0 auto;
    line-height: 1.65;
}

/* Grid: 1 col en móvil, 2 en tablet, hasta 3 en desktop */
.rv-giftcards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}
@media (min-width: 600px)  { .rv-giftcards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .rv-giftcards-grid { grid-template-columns: repeat(3, 1fr); } }

/* Loader gift cards */
.rv-giftcards-loader {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding: 3rem 0;
}

/* Card */
.giftcard-card {
    background: white;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.07);
    border: 1px solid #f0ede8;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.giftcard-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(208,165,80,0.15);
    border-color: rgba(208,165,80,0.25);
}

/* Imagen panorámica con rotación suave */
.giftcard-img-wrap {
    display: block;
    position: relative;
    aspect-ratio: 1866 / 744;   /* ratio original 1866×744 */
    overflow: hidden;
    background: #f5f0e8;
    text-decoration: none;
}
.gc-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 1.2s ease;
}
.gc-img-a { opacity: 1; }
.gc-img-b { opacity: 0; }
.giftcard-card:hover .gc-img-a,
.giftcard-card:hover .gc-img-b {
    /* no interrumpir la rotación JS al hacer hover */
}

/* Cuerpo de la card */
.giftcard-body {
    padding: 1.25rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-grow: 1;
    background: linear-gradient(135deg, #ffffff 0%, #fffdf8 100%);
}
.giftcard-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.giftcard-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--rv-gray-400);
}
.giftcard-badge {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--rv-gold);
    line-height: 1;
    letter-spacing: -0.02em;
}

/* Botones gift card */
.giftcard-actions {
    display: flex;
    gap: 0.6rem;
    align-items: stretch;
}
.giftcard-actions .btn-view {
    flex: 1;
    background: #f4f4f5;
    color: var(--rv-black) !important;
    padding: 0.65rem 0.75rem;
    border-radius: 3rem;
    font-size: 0.7rem;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.3s ease;
    letter-spacing: 0.05em;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
}
.giftcard-actions .btn-view:hover { background: #e5e7eb; }

/* Botón REGALAR — dorado para gift cards */
.giftcard-actions .gc-add-btn {
    flex: 1.6 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 2.5rem !important;
    border-radius: 3rem !important;
    background: var(--rv-gold) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
    text-decoration: none !important;
    padding: 0.65rem 0.75rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 6px 18px rgba(208,165,80,0.3) !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.giftcard-actions .gc-add-btn:hover {
    background: #b88d3b !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(208,165,80,0.4) !important;
    color: white !important;
}
.giftcard-actions .gc-add-btn.loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
    transform: none !important;
}
.giftcard-actions .gc-add-btn.added {
    background: #4ade80 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Responsive: en pantallas muy pequeñas ocultar ícono */
@media (max-width: 400px) {
    .giftcard-actions .gc-add-btn { font-size: 0.62rem !important; }
    .giftcard-actions .gc-add-btn .ph { display: none !important; }
}

/* --- 12b. ANIMACIONES GLOBALES --- */
@keyframes loading-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes products-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes bounce { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(8px); } }
@keyframes bounce-arrow { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@keyframes renSpin { to { transform: rotate(360deg); } }
@keyframes spin { to { transform: rotate(360deg); } }

/* --- 14. PREGUNTAS FRECUENTES (FAQ) --- */
#renovatio-faq-hero { background: var(--rv-bg-soft); padding-top: 5rem; padding-bottom: 5rem; text-align: center; position: relative; overflow: hidden; }
#renovatio-faq-content .faq-nav { position: sticky; top: 150px; align-self: start; }
#renovatio-faq-content .faq-nav .index-title { font-family: 'Cormorant Garamond', serif; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--rv-gold); margin-bottom: 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(208, 165, 80, 0.3); }
#renovatio-faq-content .faq-nav a { display: block; padding: 0.6rem 0; font-family: 'Cormorant Garamond', serif; color: #666; font-size: 1rem; font-weight: 500; transition: all 0.3s ease; border-left: 2px solid transparent; padding-left: 1rem; text-decoration: none; letter-spacing: 0.02em; }
#renovatio-faq-content .faq-nav a:hover { color: var(--rv-gold); border-left-color: var(--rv-gold); padding-left: 1.25rem; }
#renovatio-faq-content .faq-nav a.active { color: var(--rv-gold); border-left-color: var(--rv-gold); font-weight: 700; }
#renovatio-faq-content details > summary { list-style: none; }
#renovatio-faq-content details > summary::-webkit-details-marker { display: none; }
#renovatio-faq-content details[open] summary ~ * { animation: sweep .3s ease-in-out; }
#renovatio-faq-content details[open] .faq-question, #renovatio-faq-content details[open] .icon-toggle { color: var(--rv-pink); }
#renovatio-faq-content details[open] .icon-toggle { transform: rotate(180deg); }
#renovatio-faq-content .section-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; margin-top: 2rem; margin-bottom: 1.5rem; color: black; border-left: 3px solid var(--rv-gold); padding-left: 1rem; }

/* --- 16. BLOG (ARCHIVE & SINGLE) --- */
#renovatio-blog-hero { background: var(--rv-bg-soft); padding-top: 5rem; padding-bottom: 5rem; text-align: center; position: relative; overflow: hidden; }
#renovatio-blog-content .blog-card { transition: all 0.4s ease; height: 100%; display: flex; flex-direction: column; }
#renovatio-blog-content .blog-card:hover { transform: translateY(-5px); }
#renovatio-blog-content .blog-card:hover h3 { color: var(--rv-pink) !important; }
#renovatio-blog-content .blog-img { transition: transform 0.5s ease; width: 100%; height: 100%; display: block; }
#renovatio-blog-content .blog-card:hover .blog-img { transform: scale(1.05); }
#renovatio-blog-content .cat-link { display: flex; justify-content: space-between; padding: 0.5rem 0; border-bottom: 1px solid #f3f3f3; transition: 0.3s; color: #666; cursor: pointer; }
#renovatio-blog-content .cat-link:hover { color: var(--rv-pink); padding-left: 5px; }
#renovatio-blog-content .promo-banner { background: linear-gradient(135deg, #FFF5F5 0%, #FFE4E4 100%); position: relative; overflow: hidden; }
#renovatio-blog-content .promo-banner::before { content: ''; position: absolute; top: -50%; right: -30%; width: 200px; height: 200px; background: #FFD1D1; border-radius: 50%; filter: blur(60px); opacity: 0.6; }

/* Single Post */
#renovatio-single-post .post-hero { background: linear-gradient(135deg, #FFF5F5 0%, #FFE4E4 100%); position: relative; overflow: hidden; }
#renovatio-single-post .post-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: #FFD1D1; border-radius: 50%; filter: blur(120px); opacity: 0.5; }
#renovatio-single-post .post-content { font-family: 'Lato', sans-serif; font-size: 1.1rem; line-height: 1.9; color: #333; }
#renovatio-single-post .post-content p { margin-bottom: 1.5rem; }
#renovatio-single-post .post-content h2 { font-family: 'Playfair Display', serif; font-size: 1.75rem; font-weight: 700; margin: 2.5rem 0 1rem; color: black; }
#renovatio-single-post .post-content h3 { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-weight: 700; margin: 2rem 0 0.75rem; color: black; }
#renovatio-single-post .post-content ul, #renovatio-single-post .post-content ol { margin: 1.5rem 0; padding-left: 1.5rem; }
#renovatio-single-post .post-content li { margin-bottom: 0.5rem; }
#renovatio-single-post .post-content blockquote { border-left: 4px solid var(--rv-pink); padding: 1rem 1.5rem; margin: 2rem 0; background: #f9f9f9; font-style: italic; color: #555; }
#renovatio-single-post .post-content img { border-radius: 12px; margin: 2rem 0; max-width: 100%; height: auto; }
#renovatio-single-post .post-content a { color: var(--rv-pink); border-bottom: 1px solid transparent; transition: 0.3s; }
#renovatio-single-post .post-content a:hover { border-color: var(--rv-pink); }
#renovatio-single-post .category-badge { background: white; color: var(--rv-pink); padding: 0.35rem 1rem; border-radius: 50px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); display: inline-block; }
#renovatio-single-post .share-btn { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f5f5f5; color: #666; transition: 0.3s; border: none; cursor: pointer; }
#renovatio-single-post .share-btn:hover { background: var(--rv-pink); color: white; }
#renovatio-single-post .related-card { transition: all 0.4s ease; display: block; }
#renovatio-single-post .related-card:hover { transform: translateY(-5px); }
#renovatio-single-post .related-card:hover h4 { color: var(--rv-pink); }
#renovatio-single-post .related-card img { transition: transform 0.5s ease; }
#renovatio-single-post .related-card:hover img { transform: scale(1.05); }

/* =============================================
   18. RESPONSIVE COMPARTIDO
   ============================================= */
@media (max-width: 1024px) {
    .ob-nav-menu { display: none; }
    .mobile-trigger { display: flex !important; }
    .ob-header { justify-content: space-between; }
    .ob-logo-link { order: 1; }
    .ob-header-actions { order: 2; display: flex; }
    #ob-hamburger { order: 3; }
    .ob-footer-grid { grid-template-columns: 1fr 1fr; }
    #renovatio-home-collections .collections-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    #renovatio-home-instagram #sb_instagram #sbi_images { grid-template-columns: repeat(3, 1fr) !important; }
    .polaroid-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}

@media (max-width: 768px) {
    :root { --header-height: 3.5rem; }
    .ob-search-form { flex-direction: column; }
    .ob-search-submit { width: 100%; justify-content: center; }
    .ob-search-submit-text { display: none; }
    .ob-search-submit::after { content: 'Buscar'; }
    .ob-footer-grid { grid-template-columns: 1fr; text-align: center; gap: 2.5rem; }
    .ob-title::after { left: 50%; transform: translateX(-50%); }
    .ob-desc, .ob-logo { margin-left: auto; margin-right: auto; }
    .ob-socials { justify-content: center; }
    .ob-contact-row { justify-content: center; }
    .ob-bottom { flex-direction: column; text-align: center; }
    .ob-legal a { margin: 0 10px; }
    #renovatio-home-hero { min-height: calc(100svh - var(--header-height)); padding: 1.5rem 1.5rem 4rem; }
    #renovatio-home-products .carousel-card { flex: 0 0 220px; min-width: 220px; }
    #renovatio-home-products .carousel-track { animation-duration: 35s; }
    #renovatio-home-testimonials .testimonial-card { min-width: 15rem; }
    #renovatio-home-testimonials .testimonial-track { animation-duration: 45s; }
    #renovatio-home-video { min-height: 70vh; }
    #renovatio-services-content .service-card-img { filter: none !important; }
    #renovatio-services-content .group h3 { transform: none !important; }
    #renovatio-services-content .group p { opacity: 1 !important; transform: none !important; }
    #renovatio-services-content .group a[class*="opacity-0"], #renovatio-services-content .group a { opacity: 1 !important; transform: none !important; }
    #renovatio-home-faces { padding: 4rem 4%; }
}

@media (max-width: 640px) {
    .polaroid-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    #renovatio-home-collections .collections-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
    #renovatio-home-collections .collection-overlay { padding: 1.5rem 1rem 1rem; min-height: 100px; }
    #renovatio-home-collections .collection-overlay h3 { font-size: 0.95rem; }
}

@media (max-width: 480px) {
    #renovatio-home-products .carousel-card { flex: 0 0 180px; min-width: 180px; }
    #renovatio-home-products .carousel-track { animation-duration: 30s; }
    #renovatio-home-instagram #sb_instagram #sbi_images { grid-template-columns: repeat(2, 1fr) !important; }
}


/* ==========================================================================
   HEADER GLOBAL RENOVATIO
   ========================================================================== */

#renovatio-header-module {
    font-family: 'Lato', sans-serif;
}

.ob-header {
    position: fixed;
    top: var(--wp-admin-bar);
    left: 0;
    width: 100%;
    height: var(--header-height);
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5%;
    transition: all 0.4s ease;
}
.ob-header.scrolled {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
}
.ob-logo-img {
    max-height: 36px;
    width: auto;
    object-fit: contain;
}

/* MENÚ ESCRITORIO */
.ob-nav-menu {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    height: 100%;
}
.ob-menu-list {
    display: flex;
    list-style: none;
    gap: 2.5rem;
    height: 100%;
    align-items: center;
    margin: 0;
    padding: 0;
}
.ob-menu-item > a {
    text-decoration: none;
    color: var(--ob-primary);
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 2px;
    transition: color 0.3s;
}
.ob-menu-item > a:hover {
    color: var(--ob-accent);
}

/* DROPDOWN */
.ob-has-dropdown {
    position: relative;
}
.ob-has-dropdown > a {
    display: flex;
    align-items: center;
}
.ob-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: white;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    min-width: 220px;
    padding: 0.75rem 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 100;
    margin: 0;
}
.ob-has-dropdown:hover .ob-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.ob-dropdown li a {
    display: block;
    padding: 0.75rem 1.5rem;
    color: var(--ob-primary) !important;
    font-size: 0.8rem;
    text-transform: none;
    letter-spacing: 0.5px;
    transition: 0.3s ease;
    text-decoration: none;
}
.ob-dropdown li a:hover {
    background: #f8f8f8;
    color: var(--ob-accent) !important;
    padding-left: 1.75rem;
}

/* ACCIONES */
.ob-header-actions {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    height: 100%;
}
.ob-action-btn {
    background: transparent !important;
    border: none;
    cursor: pointer;
    font-size: 1.35rem;
    color: var(--ob-primary);
    transition: color 0.3s ease;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    outline: none;
    text-decoration: none;
}
.ob-action-btn:hover {
    color: var(--ob-accent);
}

/* BADGE CARRITO */
.cart-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}
.header-cart-badge {
    position: absolute;
    top: -4px;
    right: -6px;
    background-color: var(--ob-primary);
    color: white;
    font-size: 9px;
    font-weight: 700;
    height: 15px;
    min-width: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Lato', sans-serif;
    pointer-events: none;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    line-height: 1;
}

/* PANEL DE BÚSQUEDA */
.ob-search-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    z-index: 10003;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.ob-search-overlay.active {
    opacity: 1;
    visibility: visible;
}
.ob-search-panel {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    background: white;
    z-index: 10004;
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.ob-search-panel.active {
    transform: translateY(0);
}
.ob-search-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem 5%;
}
.ob-search-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
.ob-search-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ob-primary);
    margin: 0;
}
.ob-search-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--ob-primary);
    padding: 0.5rem;
    transition: color 0.3s;
}
.ob-search-close:hover { color: var(--ob-pink); }
.ob-search-form {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}
.ob-search-input-wrap {
    flex: 1;
    position: relative;
}
.ob-search-input {
    width: 100%;
    padding: 1rem 1.25rem 1rem 3.5rem !important;
    font-size: 1rem;
    border: 2px solid #eee;
    border-radius: 50px;
    outline: none;
    font-family: 'Lato', sans-serif;
    transition: all 0.3s ease;
    box-sizing: border-box;
}
.ob-search-input:focus {
    border-color: var(--ob-pink);
    box-shadow: 0 0 0 4px rgba(233, 80, 74, 0.1);
}
.ob-search-input::placeholder { color: #aaa; }
.ob-search-icon {
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 1.1rem;
    pointer-events: none;
    z-index: 2;
}
.ob-search-submit {
    background: var(--ob-pink);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.ob-search-submit:hover {
    background: var(--rv-pink-hover);
    transform: translateY(-2px);
}
.ob-search-suggestions {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #eee;
}
.ob-search-suggestions-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #888;
    margin-bottom: 0.75rem;
}
.ob-search-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.ob-search-tag {
    background: #f5f5f5;
    color: var(--ob-primary);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-size: 0.85rem;
    text-decoration: none;
    transition: all 0.3s ease;
}
.ob-search-tag:hover {
    background: var(--ob-pink);
    color: white;
}

/* MENÚ MÓVIL */
.ob-mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    left: auto;
    width: 85%;
    max-width: 320px;
    height: 100vh;
    background: white;
    z-index: 10002;
    transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}
.ob-mobile-menu.active { right: 0; }
.ob-mobile-submenu {
    list-style: none;
    padding: 0;
    margin: 0 0 0 1rem;
}
.ob-mobile-submenu li { margin: 0; }
.ob-mobile-submenu a {
    text-decoration: none;
    color: #666;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.6rem 0;
    display: block;
    transition: 0.3s;
}
.ob-mobile-submenu a:hover {
    color: var(--ob-pink);
    padding-left: 0.5rem;
}
.ob-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    backdrop-filter: blur(4px);
}
.ob-overlay.active {
    opacity: 1;
    visibility: visible;
}
.ob-mobile-link {
    text-decoration: none;
    color: var(--ob-primary);
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
    display: block;
}
.ob-mobile-search {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #eee;
}
.ob-mobile-search-input {
    flex: 1;
    padding: 0.75rem 1rem !important;
    border: 2px solid #eee;
    border-radius: 50px;
    font-size: 0.9rem;
    outline: none;
    box-sizing: border-box;
}
.ob-mobile-search-input:focus { border-color: var(--ob-pink); }
.ob-mobile-search-btn {
    background: var(--ob-pink);
    color: white;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.btn-renovatio {
    background: var(--ob-pink);
    color: white;
    padding: 0.875rem 2rem;
    border-radius: 50px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.85rem;
    border: none;
}
.btn-renovatio:hover {
    background: var(--rv-pink-hover);
    color: white;
}
.mobile-trigger { display: none; }
.ob-search-submit-text { display: inline; }
.header-spacer {
    height: calc(var(--header-height) + var(--wp-admin-bar, 0px));
}

/* RESPONSIVE HEADER */
@media (max-width: 1024px) {
    .ob-nav-menu { display: none; }
    .mobile-trigger { display: flex !important; }
    .ob-logo-link { order: 1; }
    .ob-header-actions { order: 2; display: flex; align-items: center; }
    #ob-hamburger { order: 3; }
}
@media (max-width: 768px) {
    .ob-search-container { padding: 1.5rem 5%; }
    .ob-search-title { font-size: 1.25rem; }
    .ob-search-form { flex-direction: column; }
    .ob-search-input-wrap { width: 100%; }
    .ob-search-input { padding-left: 3rem !important; }
    .ob-search-submit { width: 100%; justify-content: center; }
    .ob-search-submit-text { display: none; }
    .ob-search-submit::after { content: 'Buscar'; }
}


/* ==========================================================================
   MÓDULO TIENDA — RV SHOP
   ========================================================================== */

#rv-shop-module {
    font-family: 'Inter', sans-serif;
    color: var(--rv-black);
    width: 100%;
    box-sizing: border-box;
    padding: 2rem 1.5rem 5rem;
    clear: both;
    overflow: hidden;
}
@media (min-width: 1024px) { #rv-shop-module { padding: 4rem 6% 6rem; } }
#rv-shop-module * { box-sizing: border-box; }
#rv-shop-module .font-display { font-family: 'Playfair Display', serif; }

/* HERO */
#rv-shop-module .rv-hero {
    text-align: center; padding: 4.5rem 1rem;
    background: #fdfdfd; border-radius: 2rem; margin-bottom: 4rem;
    border: 1px solid #f3f3f3;
}
#rv-shop-module .rv-hero .tagline { font-size: 0.8rem; font-weight: 800; color: var(--rv-pink); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 0.75rem; display: block; }
#rv-shop-module .rv-hero .title { font-size: 2.6rem; font-weight: 700; margin-bottom: 1.5rem; line-height: 1.1; color: var(--rv-black); }
@media (min-width: 768px) { #rv-shop-module .rv-hero .title { font-size: 3.8rem; } }
#rv-shop-module .rv-hero-pills { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.8rem; }
#rv-shop-module .rv-hero-pill {
    padding: 0.75rem 1.75rem; border-radius: 3rem; background: white; color: var(--rv-gray, #71717a);
    font-weight: 700; font-size: 0.9rem; text-decoration: none; border: 1px solid #e5e7eb;
    transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1); cursor: pointer;
}
#rv-shop-module .rv-hero-pill:hover,
#rv-shop-module .rv-hero-pill.active { background: var(--rv-black); color: #fff; border-color: var(--rv-black); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
#rv-shop-module .rv-hero-pill.ofertas { color: var(--rv-pink); border-color: rgba(233,80,74,0.2); }
#rv-shop-module .rv-hero-pill.ofertas:hover,
#rv-shop-module .rv-hero-pill.ofertas.active { background: var(--rv-pink); color: white; border-color: var(--rv-pink); }

/* FIX CRÍTICO: Forzar shortcode widget a romper fuera de su contenedor Elementor */
/* Elementor da solo ~304px al widget. Usamos el truco de 100vw para expandir. */
.elementor-widget-shortcode:has(#rv-shop-module) {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 5% !important;
}
 /* FIX SAFARI: Fallback para versiones de Safari que no soportan :has() */
.elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode > #rv-shop-module {
     width: 100vw !important;
     position: relative !important;
     left: 50% !important;
     transform: translateX(-50%) !important;
     margin: 0 !important;
 }

/* Fallback por data-id para navegadores sin :has() */
.elementor-element-b0528ea {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 5% !important;
}
.elementor-element-b0528ea > .elementor-widget-container,
.elementor-element-b0528ea > .elementor-widget-container > .elementor-shortcode {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
}

/* LAYOUT */
#rv-shop-module .rv-layout { display: flex; flex-direction: column; gap: 2.5rem; width: 100% !important; min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; }
#rv-shop-module .rv-sidebar { display: none; }

@media (min-width: 1024px) {
    #rv-shop-module .rv-layout {
        display: grid !important;
        grid-template-columns: 260px 1fr;
        gap: 3.5rem;
        align-items: start;
    }
    #rv-shop-module .rv-sidebar { display: block; }
    #rv-shop-module .rv-main { min-width: 0; width: 100% !important; flex: 1 !important; }
}

/* SIDEBAR */
#rv-shop-module .rv-widget { margin-bottom: 3rem; }
#rv-shop-module .rv-widget-title { font-size: 1.15rem; font-weight: 800; margin-bottom: 1.5rem; border-bottom: 2px solid #f3f4f6; padding-bottom: 0.8rem; color: var(--rv-black); }
#rv-shop-module .rv-widget-list { list-style: none; padding: 0; margin: 0; }
#rv-shop-module .rv-widget-list li { margin-bottom: 0.5rem; }
#rv-shop-module .rv-filter-link { display: flex; justify-content: space-between; padding: 6px 0; color: #71717a; font-size: 0.95rem; cursor: pointer; text-decoration: none; transition: 0.2s; font-weight: 500; }
#rv-shop-module .rv-filter-link:hover { color: var(--rv-pink); padding-left: 5px; }
#rv-shop-module .rv-filter-link.rv-active { color: var(--rv-pink); font-weight: 800; }

/* GRID */
#rv-shop-module .rv-grid { 
    display: grid !important; 
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; 
    gap: 20px !important; 
    width: 100% !important;
    min-height: 600px;
    align-content: start;
}

#rv-shop-module .rv-grid::before,
#rv-shop-module .rv-grid::after {
     display: none !important;
     content: none !important;
 }
@media (min-width: 768px) { #rv-shop-module .rv-grid { gap: 30px !important; } }
@media (min-width: 1200px) { #rv-shop-module .rv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* CARDS */
#rv-shop-module .rv-product-card,
#rv-shop-module .rv-item,
#rv-shop-module .type-product {
    background: #fff; border-radius: 1.5rem; border: 1px solid #f3f4f6;
    display: flex !important; flex-direction: column; overflow: hidden;
    height: auto !important; min-height: 450px !important;
    position: relative !important; float: none !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease; text-decoration: none;
    width: 100% !important;
    grid-column: span 1 !important;
}
#rv-shop-module .rv-product-card:hover { transform: translateY(-10px); box-shadow: 0 25px 50px rgba(0,0,0,0.06); }
#rv-shop-module .image-wrap,
#rv-shop-module .rv-img-wrap { 
    position: relative !important; 
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 125% !important; /* Proporción 4:5 manual para compatibilidad */
    background: #fff; 
    overflow: hidden; 
    display: block !important;
    flex-shrink: 0 !important; /* FIX SAFARI: Evita el colapso de altura en flexbox */
  }
}
#rv-shop-module .image-wrap img,
#rv-shop-module .rv-img-wrap img { 
    position: absolute !important;
    top: 0; left: 0;
    width: 100% !important; 
    height: 100% !important; 
    object-fit: contain !important; 
    transition: transform 0.8s ease; 
}
#rv-shop-module .rv-product-card:hover img { transform: scale(1.1); }

/* Badge de Oferta */
#rv-shop-module .rv-badge-sale {
    position: absolute; top: 1rem; left: 1rem;
    background: var(--rv-pink); color: white;
    padding: 4px 12px; border-radius: 30px;
    font-weight: 800; font-size: 10px; z-index: 10;
    box-shadow: 0 4px 10px rgba(233, 80, 74, 0.3);
}

/* Placeholder para cuando no hay imagen */
#rv-shop-module .rv-placeholder-img {
    width: 100%; height: 100%; display: flex;
    align-items: center; justify-content: center;
    background: #f8f8f8; color: #ccc; font-size: 3rem;
}
#rv-shop-module .card-content,
#rv-shop-module .rv-card-body { padding: 1rem; display: flex; flex-direction: column; flex-grow: 1; }
@media (min-width: 768px) {
    #rv-shop-module .card-content,
    #rv-shop-module .rv-card-body { padding: 1.75rem; }
}
#rv-shop-module .rv-product-card h3,
#rv-shop-module .rv-card-title { font-size: 0.95rem; font-weight: 700; margin: 0 0 0.4rem; color: var(--rv-black); line-height: 1.25; }
@media (min-width: 768px) {
    #rv-shop-module .rv-product-card h3,
    #rv-shop-module .rv-card-title { font-size: 1.15rem; }
}
#rv-shop-module .category-name,
#rv-shop-module .rv-card-desc { font-size: 0.65rem; color: #9ca3af; margin-bottom: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
@media (min-width: 768px) {
    #rv-shop-module .category-name,
    #rv-shop-module .rv-card-desc { font-size: 0.75rem; margin-bottom: 1.5rem; }
}

/* CARD FOOTER — precio y botones */
#rv-shop-module .card-footer,
#rv-shop-module .rv-card-footer { margin-top: auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding-top: 1rem; border-top: 1px solid #f9f9f9; gap: 0.5rem; }

/* Título con Playfair — igual que página de producto */
#rv-shop-module .rv-product-card h3,
#rv-shop-module .rv-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 0.95rem; font-weight: 700; margin: 0 0 0.4rem; color: var(--rv-black); line-height: 1.25;
}
@media (min-width: 768px) {
    #rv-shop-module .rv-product-card h3,
    #rv-shop-module .rv-card-title { font-size: 1.1rem; }
}

/* Precio en rosa — igual que página de producto individual */
#rv-shop-module .price,
#rv-shop-module .rv-price { color: var(--rv-pink); font-weight: 800; font-size: 1.05rem; width: 100%; }
@media (min-width: 768px) {
    #rv-shop-module .price,
    #rv-shop-module .rv-price { font-size: 1.2rem; }
}

/* Descripción corta en cards de tienda */
#rv-shop-module .rv-card-short-desc {
    font-size: 0.72rem;
    color: #9ca3af;
    line-height: 1.5;
    margin: 0.35rem 0 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Descripción corta en cards de accesorios (página de producto) */
html body #renovatio-product-module .rv-product-card-desc {
    font-size: 0.78rem !important;
    color: var(--rv-gray-600) !important;
    line-height: 1.5 !important;
    margin: 0.25rem 0 0.5rem !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Botones del card — VER + AL CARRO side by side */
#rv-shop-module .card-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.5rem;
}

#rv-shop-module .btn-view {
    flex: 1;
    background: #f4f4f5; color: var(--rv-black) !important;
    padding: 0.65rem 0.75rem; border-radius: 3rem;
    font-size: 0.7rem; font-weight: 800;
    text-decoration: none; transition: background 0.3s ease;
    letter-spacing: 0.05em; white-space: nowrap;
    display: flex; align-items: center; justify-content: center;
    min-height: 2.5rem;
}
#rv-shop-module .btn-view:hover { background: #e5e7eb; }

/* Botón AL CARRO — pill redondeado, permanente (desktop + móvil) */
#rv-shop-module .btn-add-circle,
#rv-shop-module .quick-add,
#rv-shop-module .add_to_cart_button {
    /* Anula el opacity:0/transform global — siempre visible */
    opacity: 1 !important;
    transform: none !important;
    position: static !important;   /* saca del absolute del global */

    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 2.5rem !important;
    border-radius: 3rem !important;
    background: var(--rv-pink) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
    text-decoration: none !important;
    flex-shrink: 1 !important;
    padding: 0.65rem 0.75rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 6px 18px rgba(233,80,74,0.25) !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
#rv-shop-module .btn-add-circle:hover,
#rv-shop-module .quick-add:hover,
#rv-shop-module .add_to_cart_button:hover {
    background: #d4453f !important;
    color: white !important;
    box-shadow: 0 10px 24px rgba(233,80,74,0.35) !important;
    transform: translateY(-2px) !important;
}
#rv-shop-module .add_to_cart_button.loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
    transform: none !important;
}
#rv-shop-module .add_to_cart_button.added {
    background: var(--rv-gold) !important;
    box-shadow: 0 4px 12px rgba(208,165,80,0.3) !important;
    transform: none !important;
}

/* En móviles muy pequeños: texto e ícono más compactos */
@media (max-width: 400px) {
    #rv-shop-module .btn-view,
    #rv-shop-module .quick-add,
    #rv-shop-module .add_to_cart_button {
        font-size: 0.62rem !important;
        padding: 0.55rem 0.5rem !important;
    }
    #rv-shop-module .quick-add .ph,
    #rv-shop-module .add_to_cart_button .ph { display: none !important; }
}

/* PAGINACIÓN */
#rv-shop-module .rv-pagination {
    display: flex; justify-content: center; align-items: center; gap: 0.5rem; flex-wrap: wrap;
    margin-top: 4.5rem; padding-top: 2rem; border-top: 1px solid #f3f4f6; grid-column: 1 / -1;
}
#rv-shop-module .rv-pag-btn {
    width: 3.2rem; height: 3.2rem; border-radius: 50%; background: white;
    color: var(--rv-black); border: 1px solid #e5e7eb; font-weight: 800;
    cursor: pointer; transition: 0.3s; font-size: 1rem;
    display: flex; align-items: center; justify-content: center;
}
#rv-shop-module .rv-pag-btn:hover,
#rv-shop-module .rv-pag-btn.active { background: var(--rv-black); color: white; border-color: var(--rv-black); transform: translateY(-3px); box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
#rv-shop-module .rv-pag-dots { color: #71717a; font-weight: 800; font-size: 1.2rem; display: flex; align-items: center; padding: 0 0.2rem; }

/* LOADER y EMPTY */
#rv-shop-module .rv-loader { grid-column: 1 / -1; text-align: center; padding: 6rem 1rem; }
#rv-shop-module .rv-spinner { width: 50px; height: 50px; border: 4px solid #f3f4f6; border-top-color: var(--rv-gold); border-radius: 50%; animation: spin 1s linear infinite; margin: 0 auto 1.5rem; }
#rv-shop-module .rv-empty { display: none; text-align: center; padding: 6.5rem 1rem; grid-column: 1 / -1; border-radius: 2rem; background: #fafafa; border: 2px dashed #eee; }

/* Estado error temporal — botones AL CARRO y REGALAR */
#rv-shop-module .quick-add.rv-btn-error,
#rv-shop-module .add_to_cart_button.rv-btn-error,
.giftcard-actions .gc-add-btn.rv-btn-error {
    background: #ef4444 !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3) !important;
    transform: none !important;
    opacity: 1 !important;
}


/* ==========================================================================
   MÓDULO PÁGINA DE PRODUCTO — #renovatio-product-module
   Extraído del HTML inline — v5.5
   ========================================================================== */

html body #renovatio-product-module,
html body #renovatio-product-module *,
html body #renovatio-product-module *::before,
html body #renovatio-product-module *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body #renovatio-product-module {
    --rv-primary: #000000;
    --rv-accent: #D0A550;
    --rv-pink: #E9504A;
    --rv-bg: #FFF5F5;
    --rv-white: #ffffff;
    --rv-gray-100: #F3F4F6;
    --rv-gray-200: #E5E7EB;
    --rv-gray-400: #9CA3AF;
    --rv-gray-600: #6B7280;
    --rv-gray-900: #111827;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    min-height: 800px !important;
    background-color: var(--rv-bg) !important;
    position: relative !important;
    z-index: 100 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
html body #renovatio-product-module .font-display { font-family: 'Playfair Display', serif !important; }
html body #renovatio-product-module .font-body    { font-family: 'Lato', sans-serif !important; }

/* Contenedor */
html body #renovatio-product-module .rv-section {
    padding: 3rem 1.5rem !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 10 !important;
}
@media (min-width: 1024px) {
    html body #renovatio-product-module .rv-section { padding: 5rem 1.5rem !important; }
}

/* Orbs decorativos */
html body #renovatio-product-module .rv-bg-decoration {
    position: absolute !important; top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    overflow: hidden !important; pointer-events: none !important; z-index: 0 !important;
}
html body #renovatio-product-module .atmo-orb {
    position: absolute !important; border-radius: 9999px !important; filter: blur(100px) !important;
}
html body #renovatio-product-module .atmo-orb:nth-child(1) {
    top: -5rem !important; left: -5rem !important;
    width: 20rem !important; height: 20rem !important;
    background-color: #FFD1D1 !important; opacity: 0.4 !important;
}
html body #renovatio-product-module .atmo-orb:nth-child(2) {
    bottom: 10rem !important; right: 0 !important;
    width: 24rem !important; height: 24rem !important;
    background-color: #FFE4E4 !important; opacity: 0.5 !important;
}

/* Grid producto */
html body #renovatio-product-module .rv-product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    position: relative !important;
    z-index: 10 !important;
}
@media (min-width: 1024px) {
    html body #renovatio-product-module .rv-product-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 4rem !important;
    }
}

/* Galería */
html body #renovatio-product-module .rv-gallery {
    display: flex !important; flex-direction: column !important; gap: 1rem !important;
}
html body #renovatio-product-module .rv-main-image-container {
    aspect-ratio: 4/5 !important;
    background: var(--rv-white) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    position: relative !important;
    border: 1px solid rgba(233, 80, 74, 0.1) !important;
    box-shadow: 0 20px 25px -5px rgba(233, 80, 74, 0.05) !important;
}
html body #renovatio-product-module .rv-main-image {
    width: 90% !important; height: 90% !important; object-fit: contain !important;
    transition: transform 0.7s ease !important; display: block !important; margin: 5% auto !important;
}
html body #renovatio-product-module .rv-main-image-container:hover .rv-main-image { transform: scale(1.05) !important; }
html body #renovatio-product-module .rv-badge-new {
    position: absolute !important; top: 1rem !important; left: 1rem !important;
    background: var(--rv-white) !important; color: var(--rv-primary) !important;
    font-size: 10px !important; font-weight: 700 !important;
    padding: 0.5rem 1rem !important; border-radius: 9999px !important;
    border: 1px solid var(--rv-pink) !important; letter-spacing: 0.1em !important; z-index: 5 !important;
}

/* Miniaturas */
html body #renovatio-product-module .rv-thumbnails {
    display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0.75rem !important;
}
html body #renovatio-product-module .rv-thumb {
    aspect-ratio: 1 !important; background: var(--rv-white) !important;
    border-radius: 0.75rem !important; overflow: hidden !important; cursor: pointer !important;
    border: 2px solid transparent !important; padding: 0.25rem !important; transition: border-color 0.3s !important;
}
html body #renovatio-product-module .rv-thumb.active  { border-color: var(--rv-pink) !important; }
html body #renovatio-product-module .rv-thumb:hover   { border-color: rgba(233, 80, 74, 0.5) !important; }
html body #renovatio-product-module .rv-thumb img {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    border-radius: 0.5rem !important; display: block !important;
}

/* Columna de info */
html body #renovatio-product-module .rv-info { display: flex !important; flex-direction: column !important; }
html body #renovatio-product-module .rv-breadcrumb {
    font-size: 10px !important; letter-spacing: 0.2em !important; color: var(--rv-gray-400) !important;
    text-transform: uppercase !important; margin-bottom: 1rem !important; font-weight: 700 !important;
}
html body #renovatio-product-module .rv-breadcrumb a {
    color: inherit !important; text-decoration: none !important; transition: color 0.3s !important;
}
html body #renovatio-product-module .rv-breadcrumb a:hover { color: var(--rv-pink) !important; }
html body #renovatio-product-module .rv-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.5rem !important; font-weight: 700 !important;
    color: var(--rv-gray-900) !important; line-height: 1.2 !important; margin-bottom: 1rem !important;
}
@media (min-width: 1024px) {
    html body #renovatio-product-module .rv-title { font-size: 3.5rem !important; }
}
html body #renovatio-product-module .rv-title-accent { color: var(--rv-pink) !important; }

/* Precio */
html body #renovatio-product-module .rv-price-box {
    display: flex !important; align-items: baseline !important; gap: 1rem !important;
    padding-bottom: 1.5rem !important; margin-bottom: 1.5rem !important;
    border-bottom: 1px solid var(--rv-gray-200) !important;
}
html body #renovatio-product-module .rv-price {
    color: var(--rv-pink) !important; font-weight: 700 !important;
    font-size: 2rem !important; letter-spacing: -0.025em !important;
}
html body #renovatio-product-module .rv-price-old {
    color: var(--rv-gray-400) !important; text-decoration: line-through !important; font-size: 1rem !important;
}

/* Descripción */
html body #renovatio-product-module .rv-description {
    font-family: 'Lato', sans-serif !important; color: var(--rv-gray-600) !important;
    line-height: 1.7 !important; font-size: 0.9rem !important; margin-bottom: 1.5rem !important;
}
html body #renovatio-product-module .rv-link-specs {
    display: inline-flex !important; align-items: center !important; gap: 0.25rem !important;
    color: var(--rv-pink) !important; font-weight: 700 !important; font-size: 11px !important;
    text-transform: uppercase !important; letter-spacing: 0.15em !important;
    border-bottom: 1px solid rgba(233, 80, 74, 0.3) !important; padding-bottom: 2px !important;
    text-decoration: none !important; transition: all 0.3s !important;
}
html body #renovatio-product-module .rv-link-specs:hover { border-color: var(--rv-pink) !important; }

/* Variantes */
html body #renovatio-product-module .rv-variants-box {
    background: var(--rv-white) !important; padding: 1.5rem !important;
    border-radius: 1rem !important; border: 1px solid var(--rv-gray-100) !important; margin-bottom: 1.5rem !important;
}
html body #renovatio-product-module .rv-variants-label {
    font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.15em !important;
    text-transform: uppercase !important; color: var(--rv-gray-400) !important;
    margin-bottom: 1rem !important; display: block !important;
}
html body #renovatio-product-module .rv-variants { display: flex !important; gap: 1rem !important; }
html body #renovatio-product-module .rv-variant-btn {
    width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important;
    border: 2px solid var(--rv-gray-200) !important; cursor: pointer !important; transition: all 0.3s !important;
}
html body #renovatio-product-module .rv-variant-btn:hover { transform: scale(1.1) !important; }
html body #renovatio-product-module .rv-variant-btn.selected {
    transform: scale(1.15) !important;
    box-shadow: 0 0 0 3px var(--rv-white), 0 0 0 5px var(--rv-pink) !important;
}

/* Formulario de compra */
html body #renovatio-product-module .rv-purchase-form {
    display: flex !important; flex-direction: column !important;
    gap: 1rem !important; margin-bottom: 1.5rem !important;
}
html body #renovatio-product-module .rv-purchase-controls { display: flex !important; gap: 1rem !important; }
html body #renovatio-product-module .rv-qty-selector {
    display: flex !important; align-items: center !important;
    border: 1px solid var(--rv-gray-200) !important; border-radius: 9999px !important;
    padding: 0 1rem !important; height: 3.5rem !important; width: 7rem !important;
    justify-content: space-between !important; background: var(--rv-gray-100) !important;
}
html body #renovatio-product-module .rv-qty-btn {
    color: var(--rv-gray-400) !important; cursor: pointer !important;
    background: none !important; border: none !important;
    font-size: 1.25rem !important; padding: 0.5rem !important;
    transition: color 0.3s !important; line-height: 1 !important;
}
html body #renovatio-product-module .rv-qty-btn:hover  { color: var(--rv-pink) !important; }
html body #renovatio-product-module .rv-qty-display    { font-weight: 700 !important; font-size: 1rem !important; color: var(--rv-gray-900) !important; }
html body #renovatio-product-module .rv-add-btn {
    flex: 1 !important; background: var(--rv-pink) !important; color: var(--rv-white) !important;
    height: 3.5rem !important; border-radius: 9999px !important;
    font-weight: 700 !important; font-size: 12px !important; letter-spacing: 0.2em !important;
    text-transform: uppercase !important; border: none !important; cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    gap: 0.75rem !important; transition: all 0.3s !important;
    box-shadow: 0 10px 25px -5px rgba(233, 80, 74, 0.3) !important;
}
html body #renovatio-product-module .rv-add-btn:hover {
    background: #d4453f !important; transform: translateY(-2px) !important;
    box-shadow: 0 15px 30px -5px rgba(233, 80, 74, 0.4) !important;
}
html body #renovatio-product-module .rv-add-btn i { font-size: 1.25rem !important; transition: transform 0.3s !important; }
html body #renovatio-product-module .rv-add-btn:hover i { transform: rotate(12deg) !important; }
html body #renovatio-product-module .rv-add-btn.rv-loading { pointer-events: none !important; opacity: 0.7 !important; }
@keyframes rv-spin { to { transform: rotate(360deg); } }
html body #renovatio-product-module .rv-purchase-note {
    font-size: 11px !important; color: var(--rv-gray-400) !important;
    text-align: center !important; font-style: italic !important; line-height: 1.6 !important;
}

/* Tags de servicio */
html body #renovatio-product-module .rv-services {
    display: flex !important; flex-wrap: wrap !important; gap: 1rem !important; margin-top: 2rem !important;
}
html body #renovatio-product-module .rv-service-tag {
    display: flex !important; align-items: center !important; gap: 0.75rem !important;
    padding: 0.75rem !important; border-radius: 0.75rem !important; transition: all 0.3s !important;
}
html body #renovatio-product-module .rv-service-tag:hover {
    background: var(--rv-white) !important; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05) !important;
}
html body #renovatio-product-module .rv-service-icon {
    width: 2.5rem !important; height: 2.5rem !important; border-radius: 9999px !important;
    background: var(--rv-white) !important; display: flex !important; align-items: center !important;
    justify-content: center !important; color: var(--rv-pink) !important; font-size: 1.25rem !important;
    border: 1px solid var(--rv-gray-100) !important; box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    flex-shrink: 0 !important;
}
html body #renovatio-product-module .rv-service-text {
    font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: 0.1em !important; color: var(--rv-gray-900) !important; line-height: 1.4 !important;
}

/* Tabs */
html body #renovatio-product-module .rv-tabs-section {
    margin-top: 4rem !important; padding-top: 3rem !important;
    border-top: 1px solid rgba(233, 80, 74, 0.1) !important;
    max-width: 900px !important; margin-left: auto !important; margin-right: auto !important;
}
html body #renovatio-product-module .rv-tabs-nav {
    display: flex !important; border-bottom: 1px solid var(--rv-gray-200) !important;
    margin-bottom: 2rem !important; overflow-x: auto !important;
}
html body #renovatio-product-module .rv-tab-btn {
    padding: 1rem 1.5rem !important; font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 0.15em !important; text-transform: uppercase !important;
    color: var(--rv-gray-400) !important; background: none !important; border: none !important;
    border-bottom: 2px solid transparent !important; cursor: pointer !important;
    white-space: nowrap !important; transition: all 0.3s !important;
}
html body #renovatio-product-module .rv-tab-btn:hover { color: var(--rv-gray-900) !important; }
html body #renovatio-product-module .rv-tab-btn.active {
    color: var(--rv-pink) !important; border-bottom-color: var(--rv-pink) !important;
}
html body #renovatio-product-module .rv-tab-content {
    display: none !important; color: var(--rv-gray-600) !important;
    font-family: 'Lato', sans-serif !important; line-height: 1.8 !important;
}
html body #renovatio-product-module .rv-tab-content.active { display: block !important; }
html body #renovatio-product-module .rv-tab-content h3 {
    font-family: 'Playfair Display', serif !important; font-size: 1.5rem !important;
    color: var(--rv-gray-900) !important; margin-bottom: 1rem !important;
}
html body #renovatio-product-module .rv-tab-content p { margin-bottom: 1rem !important; }
html body #renovatio-product-module .rv-features-grid {
    display: grid !important; grid-template-columns: 1fr !important;
    gap: 1rem !important; margin: 1.5rem 0 !important;
}
@media (min-width: 768px) {
    html body #renovatio-product-module .rv-features-grid { grid-template-columns: 1fr 1fr !important; }
}
html body #renovatio-product-module .rv-feature-item {
    display: flex !important; align-items: flex-start !important; gap: 0.75rem !important; font-size: 0.9rem !important;
}
html body #renovatio-product-module .rv-feature-item i { color: var(--rv-pink) !important; font-size: 1.25rem !important; margin-top: 2px !important; }

/* Sección Excelencia */
html body #renovatio-product-module .rv-excellence {
    margin-top: 4rem !important; padding-top: 3rem !important;
    border-top: 1px solid rgba(233, 80, 74, 0.1) !important;
}
html body #renovatio-product-module .rv-excellence-title {
    font-family: 'Playfair Display', serif !important; font-size: 2rem !important;
    font-weight: 700 !important; text-align: center !important;
    margin-bottom: 3rem !important; color: var(--rv-gray-900) !important;
}
html body #renovatio-product-module .rv-excellence-grid {
    display: grid !important; grid-template-columns: 1fr !important;
    gap: 2rem !important; max-width: 1000px !important; margin: 0 auto !important;
}
@media (min-width: 768px) {
    html body #renovatio-product-module .rv-excellence-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
html body #renovatio-product-module .rv-excellence-item { display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }
html body #renovatio-product-module .rv-excellence-item i { font-size: 2rem !important; color: var(--rv-accent) !important; }
html body #renovatio-product-module .rv-excellence-item h4 {
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.15em !important;
    text-transform: uppercase !important; color: var(--rv-gray-900) !important;
}
html body #renovatio-product-module .rv-excellence-item p {
    font-size: 0.875rem !important; color: var(--rv-gray-600) !important;
    line-height: 1.7 !important; font-weight: 300 !important;
}

/* Sección Productos Relacionados (Accesorios) */
html body #renovatio-product-module .rv-related {
    background: var(--rv-white) !important; padding: 4rem 1.5rem !important; margin-top: 4rem !important;
}
html body #renovatio-product-module .rv-related-inner { max-width: 1280px !important; margin: 0 auto !important; }
html body #renovatio-product-module .rv-related-header {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    margin-bottom: 2rem !important; flex-wrap: wrap !important; gap: 1rem !important;
}
html body #renovatio-product-module .rv-related-title {
    font-family: 'Playfair Display', serif !important; font-size: 1.75rem !important;
    font-weight: 700 !important; color: var(--rv-gray-900) !important;
}
html body #renovatio-product-module .rv-related-link {
    font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.15em !important;
    text-transform: uppercase !important; color: var(--rv-pink) !important; text-decoration: none !important;
    display: flex !important; align-items: center !important; gap: 0.5rem !important; transition: opacity 0.3s !important;
}
html body #renovatio-product-module .rv-related-link:hover { opacity: 0.7 !important; }
html body #renovatio-product-module .rv-products-grid {
    display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important;
}
@media (min-width: 768px) {
    html body #renovatio-product-module .rv-products-grid { grid-template-columns: repeat(4, 1fr) !important; }
}
html body #renovatio-product-module .rv-product-card {
    background: var(--rv-bg) !important; border-radius: 1rem !important; overflow: hidden !important;
    transition: all 0.3s !important; border: 1px solid transparent !important;
    text-decoration: none !important; display: block !important;
}
html body #renovatio-product-module .rv-product-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px -10px rgba(233, 80, 74, 0.15) !important;
    border-color: rgba(233, 80, 74, 0.1) !important;
}
html body #renovatio-product-module .rv-product-card-image {
    aspect-ratio: 1 !important; overflow: hidden !important; background: var(--rv-gray-100) !important;
}
html body #renovatio-product-module .rv-product-card-image img {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    transition: transform 0.5s !important; display: block !important;
}
html body #renovatio-product-module .rv-product-card:hover .rv-product-card-image img { transform: scale(1.08) !important; }
html body #renovatio-product-module .rv-product-card-info { padding: 1rem !important; }
html body #renovatio-product-module .rv-product-card-cat {
    font-size: 9px !important; font-weight: 700 !important; letter-spacing: 0.15em !important;
    text-transform: uppercase !important; color: var(--rv-pink) !important;
    margin-bottom: 0.25rem !important; display: block !important;
}
html body #renovatio-product-module .rv-product-card-name {
    font-family: 'Playfair Display', serif !important; font-size: 1rem !important;
    font-weight: 600 !important; color: var(--rv-gray-900) !important;
    margin-bottom: 0.5rem !important; line-height: 1.3 !important;
}
html body #renovatio-product-module .rv-product-card-price {
    font-weight: 700 !important; color: var(--rv-gray-900) !important; font-size: 0.9rem !important;
}
html body #renovatio-product-module .rv-products-loading {
    text-align: center !important; padding: 3rem !important;
    color: var(--rv-gray-400) !important; grid-column: 1 / -1 !important;
}
html body #renovatio-product-module .rv-products-loading i {
    font-size: 2rem !important; animation: rv-spin 1s linear infinite !important;
    display: block !important; margin-bottom: 0.5rem !important;
}

/* ==========================================================================
   MÓDULO ASESORÍA ESTÉTICA — #renovatio-aesthet-wrapper
   ========================================================================== */
#renovatio-aesthet-wrapper {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    --luxury-shadow: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    position: relative;
    line-height: 1.5;
}

#renovatio-aesthet-wrapper h1,
#renovatio-aesthet-wrapper h2,
#renovatio-aesthet-wrapper h3,
#renovatio-aesthet-wrapper h4 {
    line-height: 1.2;
    margin-top: 0;
}

#renovatio-aesthet-wrapper p { margin-bottom: 1rem; }
#renovatio-aesthet-wrapper a { text-decoration: none; color: inherit; }
#renovatio-aesthet-wrapper ul { list-style: none; padding: 0; margin: 0; }

#renovatio-aesthet-wrapper .font-display { font-family: 'Playfair Display', serif; }
#renovatio-aesthet-wrapper .font-body { font-family: 'Lato', sans-serif; }

#renovatio-aesthet-wrapper button { border: none; background: transparent; cursor: pointer; }

#renovatio-aesthet-wrapper .btn-renovatio {
    background: var(--ob-pink);
    color: white;
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-aesthet-wrapper .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#renovatio-aesthet-wrapper .btn-outline-gold {
    background: transparent;
    border: 1px solid var(--ob-accent);
    color: var(--ob-accent);
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-aesthet-wrapper .btn-outline-gold:hover {
    background: var(--ob-accent);
    color: white;
}

#renovatio-aesthet-wrapper .process-card {
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: 0.4s ease;
}

#renovatio-aesthet-wrapper .process-card:hover {
    border-color: var(--ob-accent);
    transform: translateY(-5px);
    box-shadow: var(--luxury-shadow);
}

#renovatio-aesthet-wrapper details > summary { list-style: none; }
#renovatio-aesthet-wrapper details > summary::-webkit-details-marker { display: none; }

/* ==========================================================================
   MÓDULO ASESORÍA OFTALMOLÓGICA — #renovatio-oftalmo-wrapper
   ========================================================================== */
#renovatio-oftalmo-wrapper {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    --luxury-shadow: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    position: relative;
    line-height: 1.5;
}

#renovatio-oftalmo-wrapper h1,
#renovatio-oftalmo-wrapper h2,
#renovatio-oftalmo-wrapper h3,
#renovatio-oftalmo-wrapper h4 {
    line-height: 1.2;
    margin-top: 0;
}

#renovatio-oftalmo-wrapper p { margin-bottom: 1rem; }
#renovatio-oftalmo-wrapper a { text-decoration: none; color: inherit; }
#renovatio-oftalmo-wrapper ul { list-style: none; padding: 0; margin: 0; }

#renovatio-oftalmo-wrapper .font-display { font-family: 'Playfair Display', serif; }
#renovatio-oftalmo-wrapper .font-body { font-family: 'Lato', sans-serif; }

#renovatio-oftalmo-wrapper button { border: none; background: transparent; cursor: pointer; }

#renovatio-oftalmo-wrapper .btn-renovatio {
    background: var(--ob-pink);
    color: white;
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-oftalmo-wrapper .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#renovatio-oftalmo-wrapper .btn-outline-gold {
    background: transparent;
    border: 1px solid var(--ob-accent);
    color: var(--ob-accent);
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-oftalmo-wrapper .btn-outline-gold:hover {
    background: var(--ob-accent);
    color: white;
}

#renovatio-oftalmo-wrapper .process-card {
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: 0.4s ease;
}

#renovatio-oftalmo-wrapper .process-card:hover {
    border-color: var(--ob-accent);
    transform: translateY(-5px);
    box-shadow: var(--luxury-shadow);
}

#renovatio-oftalmo-wrapper details > summary { list-style: none; }
#renovatio-oftalmo-wrapper details > summary::-webkit-details-marker { display: none; }

/* ==========================================================================
   MÓDULO ASESORÍA INTEGRAL — #renovatio-integral-wrapper
   ========================================================================== */
#renovatio-integral-wrapper {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    --luxury-shadow: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    position: relative;
    line-height: 1.5;
}

#renovatio-integral-wrapper h1,
#renovatio-integral-wrapper h2,
#renovatio-integral-wrapper h3,
#renovatio-integral-wrapper h4 {
    line-height: 1.2;
    margin-top: 0;
}

#renovatio-integral-wrapper p { margin-bottom: 1rem; }
#renovatio-integral-wrapper a { text-decoration: none; color: inherit; }
#renovatio-integral-wrapper ul { list-style: none; padding: 0; margin: 0; }

#renovatio-integral-wrapper .font-display { font-family: 'Playfair Display', serif; }
#renovatio-integral-wrapper .font-body { font-family: 'Lato', sans-serif; }

#renovatio-integral-wrapper button { border: none; background: transparent; cursor: pointer; }

#renovatio-integral-wrapper .btn-renovatio {
    background: var(--ob-pink);
    color: white;
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-integral-wrapper .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#renovatio-integral-wrapper .btn-outline-gold {
    background: transparent;
    border: 1px solid var(--ob-accent);
    color: var(--ob-accent);
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-integral-wrapper .btn-outline-gold:hover {
    background: var(--ob-accent);
    color: white;
}

#renovatio-integral-wrapper .process-card {
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: 0.4s ease;
}

#renovatio-integral-wrapper .process-card:hover {
    border-color: var(--ob-accent);
    transform: translateY(-5px);
    box-shadow: var(--luxury-shadow);
}

#renovatio-integral-wrapper details > summary { list-style: none; }
#renovatio-integral-wrapper details > summary::-webkit-details-marker { display: none; }

/* ==========================================================================
   MÓDULO LEGAL, FAQ Y TÉRMINOS — #renovatio-legal-wrapper, #renovatio-faq-*, #renovatio-terms-*
   ========================================================================== */
#renovatio-legal-wrapper,
#renovatio-faq-hero,
#renovatio-faq-content,
#renovatio-terms-hero,
#renovatio-terms-content {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    --luxury-shadow: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    width: 100%;
    position: relative;
    line-height: 1.6;
}

#renovatio-legal-wrapper .section-target,
#renovatio-faq-content .scroll-mt-32,
#renovatio-terms-content .scroll-mt-32 {
    scroll-margin-top: 140px !important;
}

#renovatio-legal-wrapper .container,
#renovatio-faq-content .container,
#renovatio-terms-content .container {
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#renovatio-legal-wrapper .flex,
#renovatio-faq-content .flex,
#renovatio-terms-content .flex {
    justify-content: center !important;
}

#renovatio-legal-wrapper h1, #renovatio-legal-wrapper h2, #renovatio-legal-wrapper h3,
#renovatio-faq-hero h1, #renovatio-faq-content h2, #renovatio-faq-content h3,
#renovatio-terms-hero h1, #renovatio-terms-content h2, #renovatio-terms-content h3 {
    line-height: 1.2;
    margin-top: 0;
}

#renovatio-legal-wrapper p, #renovatio-faq-content p, #renovatio-terms-content p {
    margin-bottom: 1.5rem;
}

#renovatio-legal-wrapper .font-display, #renovatio-faq-hero .font-display, #renovatio-faq-content .font-display, #renovatio-terms-hero .font-display, #renovatio-terms-content .font-display {
    font-family: 'Playfair Display', serif;
}

#renovatio-legal-wrapper .font-body, #renovatio-faq-hero .font-body, #renovatio-faq-content .font-body, #renovatio-terms-hero .font-body, #renovatio-terms-content .font-body {
    font-family: 'Lato', sans-serif;
}

#renovatio-faq-content .font-index, #renovatio-terms-content .font-index {
    font-family: 'Cormorant Garamond', serif;
}

#renovatio-legal-wrapper .btn-renovatio, #renovatio-faq-content .btn-renovatio, #renovatio-terms-content .btn-renovatio {
    background: var(--ob-pink);
    color: white !important;
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#renovatio-legal-wrapper .btn-renovatio:hover, #renovatio-faq-content .btn-renovatio:hover, #renovatio-terms-content .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#renovatio-legal-wrapper .legal-content h2, #renovatio-terms-content .legal-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
    color: black;
    border-left: 3px solid var(--ob-accent);
    padding-left: 1rem;
}

#renovatio-legal-wrapper .legal-content p, #renovatio-legal-wrapper .legal-content ul, #renovatio-legal-wrapper .legal-content ol,
#renovatio-terms-content .legal-content p, #renovatio-terms-content .legal-content ul, #renovatio-terms-content .legal-content ol {
    font-family: 'Lato', sans-serif;
    color: #555;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
}

#renovatio-legal-wrapper .legal-content ul, #renovatio-terms-content .legal-content ul { list-style-type: disc; padding-left: 1.5rem; }
#renovatio-legal-wrapper .legal-content ol, #renovatio-terms-content .legal-content ol { list-style-type: decimal; padding-left: 1.5rem; }
#renovatio-legal-wrapper .legal-content strong, #renovatio-terms-content .legal-content strong { color: black; font-weight: 700; }

#renovatio-legal-wrapper .legal-nav, #renovatio-terms-content .legal-nav {
    position: -webkit-sticky;
    position: sticky;
    top: 130px;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    z-index: 50;
}

#renovatio-legal-wrapper .legal-nav a, #renovatio-terms-content .legal-nav a {
    display: block;
    padding: 0.5rem 0;
    color: #999;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    border-left: 2px solid transparent;
    padding-left: 1rem;
    text-decoration: none;
    cursor: pointer;
}

#renovatio-legal-wrapper .legal-nav a:hover, #renovatio-legal-wrapper .legal-nav a.active,
#renovatio-terms-content .legal-nav a:hover, #renovatio-terms-content .legal-nav a.active {
    color: var(--ob-accent);
    border-left-color: var(--ob-accent);
    font-weight: 700;
    background-color: #fafafa;
}

#renovatio-terms-content .legal-nav a.highlight-link {
    color: var(--ob-pink);
    font-weight: 600;
}
#renovatio-terms-content .legal-nav a.highlight-link:hover,
#renovatio-terms-content .legal-nav a.highlight-link.active {
    color: var(--ob-pink);
    border-left-color: var(--ob-pink);
}

#renovatio-faq-content .faq-nav {
    position: -webkit-sticky;
    position: sticky;
    top: 150px;
    align-self: start;
}
#renovatio-faq-content .faq-nav .index-title,
#renovatio-terms-content .legal-nav .index-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ob-accent);
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(208, 165, 80, 0.3);
}
#renovatio-faq-content .faq-nav a {
    display: block;
    padding: 0.6rem 0;
    font-family: 'Cormorant Garamond', serif;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.3s ease;
    border-left: 2px solid transparent;
    padding-left: 1rem;
    text-decoration: none;
    letter-spacing: 0.02em;
}
#renovatio-faq-content .faq-nav a:hover {
    color: var(--ob-accent);
    border-left-color: var(--ob-accent);
    padding-left: 1.25rem;
}
#renovatio-faq-content .faq-nav a.active {
    color: var(--ob-accent);
    border-left-color: var(--ob-accent);
    font-weight: 700;
}
#renovatio-faq-content details > summary { list-style: none; }
#renovatio-faq-content details > summary::-webkit-details-marker { display: none; }
#renovatio-faq-content details[open] summary ~ * { animation: sweep .3s ease-in-out; }
#renovatio-faq-content details[open] .faq-question { color: var(--ob-pink); }
#renovatio-faq-content details[open] .icon-toggle { transform: rotate(180deg); color: var(--ob-pink); }
#renovatio-faq-content .section-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    color: black;
    border-left: 3px solid var(--ob-accent);
    padding-left: 1rem;
}

/* ==========================================================================
   MÓDULO ARCHIVO BLOG — #renovatio-blog-content
   ========================================================================== */
#renovatio-blog-content {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    position: relative;
    line-height: 1.5;
}
#renovatio-blog-content h1,
#renovatio-blog-content h2,
#renovatio-blog-content h3,
#renovatio-blog-content h4 {
    line-height: 1.2;
    margin: 0;
}
#renovatio-blog-content p { margin-bottom: 1rem; }
#renovatio-blog-content .font-display { font-family: 'Playfair Display', serif; }
#renovatio-blog-content .font-body { font-family: 'Lato', sans-serif; }
#renovatio-blog-content a { text-decoration: none; color: inherit; }

#renovatio-blog-content .blog-card {
    transition: all 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
#renovatio-blog-content .blog-card:hover { transform: translateY(-5px); }
#renovatio-blog-content .blog-card:hover h3 { color: var(--ob-pink) !important; }
#renovatio-blog-content .blog-card h3 { margin-bottom: 1rem !important; }
#renovatio-blog-content .blog-card p { margin-top: 0.25rem; }

#renovatio-blog-content .blog-img {
    transition: transform 0.5s ease;
    width: 100%;
    height: 100%;
    display: block;
}
#renovatio-blog-content .blog-card:hover .blog-img { transform: scale(1.05); }

#renovatio-blog-content .blog-widget-title {
    font-size: 1.15rem; font-weight: 800; margin-bottom: 1.5rem; 
    border-bottom: 2px solid #f3f4f6; padding-bottom: 0.8rem; color: var(--ob-primary);
}

#renovatio-blog-content ul { list-style: none; padding: 0; margin: 0; }
#renovatio-blog-content .cat-link {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    transition: 0.2s;
    color: #71717a;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
}
#renovatio-blog-content .cat-link:hover { color: var(--ob-pink); padding-left: 5px; }
#renovatio-blog-content .cat-link.active { color: var(--ob-pink); font-weight: 800; }

#renovatio-blog-content .promo-banner {
    background: linear-gradient(135deg, #FFF5F5 0%, #FFE4E4 100%);
    position: relative;
    overflow: hidden;
}
#renovatio-blog-content .promo-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 200px;
    height: 200px;
    background: #FFD1D1;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.6;
}
@media (min-width: 768px) {
    #renovatio-blog-content .blog-card .md-show { display: flex !important; }
    #renovatio-blog-content .blog-card .md-block { display: block !important; }
}

/* ==========================================================================
   MÓDULO SINGLE POST — #renovatio-single-post
   ========================================================================== */
#renovatio-single-post {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    line-height: 1.6;
}
#renovatio-single-post .post-hero {
    background: linear-gradient(135deg, #FFF5F5 0%, #FFE4E4 100%);
    position: relative;
    overflow: hidden;
}
#renovatio-single-post .category-badge {
    display: inline-block;
    background: #E9504A;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.4rem 1rem;
    border-radius: 2rem;
}
#renovatio-single-post .font-display { font-family: 'Playfair Display', serif; }
#renovatio-single-post .font-body { font-family: 'Lato', sans-serif; }
#renovatio-single-post .post-content {
    font-size: 1.125rem;
    color: #4a4a4a;
}
#renovatio-single-post .post-content h1,
#renovatio-single-post .post-content h2,
#renovatio-single-post .post-content h3 {
    font-family: 'Playfair Display', serif;
    color: black;
    font-weight: 700;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    line-height: 1.3;
}
#renovatio-single-post .post-content h2 { font-size: 2rem; }
#renovatio-single-post .post-content h3 { font-size: 1.5rem; }
#renovatio-single-post .post-content p {
    margin-bottom: 1.5rem;
}
#renovatio-single-post .post-content blockquote {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-style: italic;
    color: var(--ob-accent);
    border-left: 4px solid var(--ob-accent);
    padding-left: 1.5rem;
    margin: 2.5rem 0;
    line-height: 1.4;
}
#renovatio-single-post .post-content ul,
#renovatio-single-post .post-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
#renovatio-single-post .post-content ul li {
    list-style-type: disc;
    margin-bottom: 0.5rem;
}
#renovatio-single-post .post-content img {
    border-radius: 1rem;
    margin: 2rem 0;
    width: 100%;
    height: auto;
}

/* Forzar Botones Internos del Contenido a Diseño Luxury (Gutenberg/Elementor) */
#renovatio-single-post .post-content .wp-block-button__link,
#renovatio-single-post .post-content .elementor-button,
#renovatio-single-post .post-content a.button {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 14px 36px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-size: 0.8rem !important;
    transition: all 0.4s ease !important;
    border: 1px solid #000000 !important;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
}
#renovatio-single-post .post-content .wp-block-button__link:hover,
#renovatio-single-post .post-content .elementor-button:hover,
#renovatio-single-post .post-content a.button:hover {
    background-color: transparent !important;
    color: #D0A550 !important;
    border-color: #D0A550 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 35px rgba(208, 165, 80, 0.15) !important;
}

/* Botones de Compartir Luxury */
#renovatio-single-post .share-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #000000;
    color: #D0A550;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
    font-size: 1.35rem;
    border: 1px solid #000000;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
#renovatio-single-post .share-btn:hover {
    background: transparent;
    color: #D0A550;
    border-color: #D0A550;
    transform: translateY(-4px) rotate(8deg);
    box-shadow: 0 10px 20px rgba(208, 165, 80, 0.2);
}

/* Ocultar Avisos Nativos Molestos (Ej: Zona de coincidencia) en página de producto */
html body #renovatio-product-module .woocommerce-notices-wrapper,
html body #renovatio-product-module .woocommerce-message,
html body #renovatio-product-module .woocommerce-info {
    display: none !important;
}

/* ============================================================
   LANDING PAGES — COMEDIANTES (rv-lp-)
   Reutilizable: cambiar foto, nombre y productos por comediante
   ============================================================ */

.rv-lp-comedian { width: 100%; overflow-x: hidden; }

/* Botones */
.rv-lp-btn { display: inline-block; padding: 14px 28px; border-radius: var(--rv-radius); font-family: 'Inter', sans-serif; font-weight: 600; font-size: 0.9rem; text-decoration: none; transition: all 0.25s ease; cursor: pointer; border: 2px solid transparent; letter-spacing: 0.02em; text-align: center; }
.rv-lp-btn--primary { background: var(--rv-pink); color: #fff; border-color: var(--rv-pink); }
.rv-lp-btn--primary:hover { background: var(--rv-pink-hover); border-color: var(--rv-pink-hover); transform: translateY(-2px); color: #fff; }
.rv-lp-btn--outline { background: transparent; color: var(--rv-pink); border-color: var(--rv-pink); }
.rv-lp-btn--outline:hover { background: var(--rv-pink); color: #fff; }
.rv-lp-btn--ghost { background: transparent; color: #fff; border-color: #fff; }
.rv-lp-btn--ghost:hover { background: #fff; color: var(--rv-black); }

/* Hero */
.rv-lp-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 85vh; background: var(--rv-bg-soft); }
.rv-lp-hero__image { position: relative; overflow: hidden; }
.rv-lp-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.rv-lp-hero__image::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, transparent 45%, rgba(255,245,245,0.55) 72%, #FFF5F5 100%), linear-gradient(to bottom, transparent 60%, rgba(255,245,245,0.4) 100%), linear-gradient(to left, transparent 85%, rgba(255,245,245,0.3) 100%); }
.rv-lp-hero__content { display: flex; flex-direction: column; justify-content: center; padding: 60px 56px; gap: 20px; }
.rv-lp-hero__eyebrow { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--rv-pink); }
.rv-lp-hero__title { font-family: 'Playfair Display', serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 700; line-height: 1.1; color: var(--rv-black); margin: 0; }
.rv-lp-hero__title--accent { color: var(--rv-gold); }
.rv-lp-hero__desc { font-family: 'Inter', sans-serif; font-size: 1rem; line-height: 1.7; color: #555; margin: 0; max-width: 420px; }
.rv-lp-hero__quote { border-left: 3px solid var(--rv-gold); padding-left: 20px; margin: 8px 0; }
.rv-lp-hero__quote p { font-family: 'Cormorant Garamond', 'Playfair Display', serif; font-size: 1.2rem; font-style: italic; color: var(--rv-black); line-height: 1.6; margin: 0 0 6px 0; }
.rv-lp-hero__quote cite { font-family: 'Inter', sans-serif; font-size: 0.8rem; font-style: normal; font-weight: 700; color: var(--rv-gold); letter-spacing: 0.05em; }

/* Carousel */
.rv-lp-carousel { padding: 80px 40px; background: #fafafa; }
.rv-lp-carousel__header { text-align: center; margin-bottom: 40px; }
.rv-lp-carousel__eyebrow { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rv-pink); display: block; margin-bottom: 8px; }
.rv-lp-carousel__header h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 700; color: var(--rv-black); margin: 0; }
.rv-lp-carousel__nav { display: flex; align-items: center; gap: 16px; max-width: 1200px; margin: 0 auto; }
.rv-lp-carousel__track { flex: 1; display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -ms-overflow-style: none; padding: 8px 4px 20px; scroll-behavior: auto; }
.rv-lp-carousel__track::-webkit-scrollbar { display: none; }
/* Tarjeta estilo colecciones */
.rv-lp-carousel__card { flex: 0 0 240px; scroll-snap-align: start; position: relative; border-radius: var(--rv-radius); overflow: hidden; cursor: pointer; box-shadow: var(--rv-shadow-card); aspect-ratio: 3/4; background: #000; border: 1px solid #f0f0f0; transition: all 0.3s ease; display: block; text-decoration: none; }
.rv-lp-carousel__card:hover { transform: translateY(-8px); box-shadow: var(--rv-shadow-luxury); border-color: transparent; }
.rv-lp-carousel__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; pointer-events: none; opacity: 0.85; }
.rv-lp-carousel__card:hover img { transform: scale(1.1); opacity: 0.75; }
.rv-lp-carousel__overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 2.5rem 1.25rem 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.98) 0%, rgba(0,0,0,0.9) 40%, rgba(0,0,0,0.6) 70%, transparent 100%); color: #fff; min-height: 140px; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; }
.rv-lp-carousel__label { color: #FFB6C1; font-weight: 700; font-size: 10px; text-transform: uppercase; letter-spacing: 0.15em; }
.rv-lp-carousel__card h3 { font-family: 'Playfair Display', serif; color: #fff !important; margin: 0; font-size: 1rem; line-height: 1.3; }
.rv-lp-carousel__price { font-family: 'Inter', sans-serif; font-size: 0.9rem; font-weight: 700; color: rgba(255,255,255,0.9); }
.rv-lp-carousel__link { font-family: 'Inter', sans-serif; font-size: 0.78rem; color: rgba(255,255,255,0.7); margin-top: 4px; transition: color 0.2s; }
.rv-lp-carousel__card:hover .rv-lp-carousel__link { color: #fff; }
/* Flechas — inline, no absolutas */
.rv-lp-carousel__arrow { flex-shrink: 0; width: 44px; height: 44px; min-width: 44px; min-height: 44px; max-width: 44px; max-height: 44px; aspect-ratio: 1 / 1; border-radius: 50%; background: #fff; border: 1.5px solid #e0e0e0; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: all 0.2s; color: #333; padding: 0; }
.rv-lp-carousel__arrow:hover { background: var(--rv-pink); color: #fff; border-color: var(--rv-pink); box-shadow: 0 4px 16px rgba(233,80,74,0.3); }

/* SEO */
.rv-lp-seo { background: var(--rv-bg-soft); padding: 80px 40px; }
.rv-lp-seo__content { max-width: 780px; margin: 0 auto 60px auto; }
.rv-lp-seo__content h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.6rem, 2.5vw, 2.4rem); font-weight: 700; color: var(--rv-black); margin: 0 0 24px 0; }
.rv-lp-seo__content p { font-family: 'Inter', sans-serif; font-size: 0.95rem; line-height: 1.8; color: #555; margin: 0 0 16px 0; }

/* FAQ */
.rv-lp-faq { max-width: 780px; margin: 0 auto; }
.rv-lp-faq__title { font-family: 'Playfair Display', serif; font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 700; color: var(--rv-black); margin: 0 0 32px 0; }
.rv-lp-faq__item { border-bottom: 1px solid #e8e8e8; }
.rv-lp-faq__item:last-child { border-bottom: none; }
.rv-lp-faq__question { font-family: 'Inter', sans-serif; font-size: 0.95rem; font-weight: 600; color: var(--rv-black); padding: 18px 40px 18px 0; cursor: pointer; list-style: none; position: relative; transition: color 0.2s; }
.rv-lp-faq__question::-webkit-details-marker { display: none; }
.rv-lp-faq__question::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; font-weight: 300; color: var(--rv-pink); transition: transform 0.2s; }
.rv-lp-faq__item[open] .rv-lp-faq__question { color: var(--rv-pink); }
.rv-lp-faq__item[open] .rv-lp-faq__question::after { transform: translateY(-50%) rotate(45deg); }
.rv-lp-faq__answer { padding: 0 0 18px 0; }
.rv-lp-faq__answer p { font-family: 'Inter', sans-serif; font-size: 0.9rem; line-height: 1.7; color: #666; margin: 0; }

/* CTA */
.rv-lp-cta { background: var(--rv-black); padding: 80px 40px; text-align: center; }
.rv-lp-cta__content h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 700; color: #fff; margin: 0 0 16px 0; }
.rv-lp-cta__content p { font-family: 'Inter', sans-serif; font-size: 1rem; color: rgba(255,255,255,0.7); margin: 0 0 36px 0; }
.rv-lp-cta__buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Responsive */
@media (max-width: 768px) {
    .rv-lp-hero { grid-template-columns: 1fr; min-height: auto; }
    .rv-lp-hero__image { height: 60vw; min-height: 280px; max-height: 420px; }
    .rv-lp-hero__content { padding: 36px 24px; gap: 16px; }
    .rv-lp-hero__desc { max-width: 100%; }
    .rv-lp-carousel { padding: 56px 16px; }
    .rv-lp-carousel__arrow { display: none; }
    .rv-lp-carousel__card { flex: 0 0 72vw; max-width: 260px; }
    .rv-lp-seo { padding: 56px 24px; }
    .rv-lp-cta { padding: 56px 24px; }
}


/* ==========================================================================
   MÓDULO BÚSQUEDA — #rv-search-module
   v1.0 — Solo productos, diseño igual a tienda
   ========================================================================== */

#rv-search-module {
    font-family: 'Inter', sans-serif;
    color: var(--rv-black);
    width: 100%;
    box-sizing: border-box;
    clear: both;
    overflow: hidden;
}
#rv-search-module * { box-sizing: border-box; }
#rv-search-module .font-display { font-family: 'Playfair Display', serif; }

/* ── HERO ── */
.rvs-hero {
    position: relative;
    background: linear-gradient(160deg, #FFF5F5 0%, #fff 65%);
    padding: 5.5rem 1.5rem 4rem;
    text-align: center;
    border-bottom: 1px solid #f3f4f6;
    overflow: hidden;
}
@media (min-width: 1024px) { .rvs-hero { padding: 8rem 6% 5.5rem; } }

/* Orbs decorativos */
.rvs-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.rvs-orb-1 {
    top: -15%;
    right: -8%;
    width: 500px;
    height: 500px;
    background: #FFE4E4;
    filter: blur(100px);
    opacity: 0.5;
}
.rvs-orb-2 {
    bottom: -10%;
    left: -5%;
    width: 300px;
    height: 300px;
    background: #FFD1D1;
    filter: blur(80px);
    opacity: 0.35;
}

.rvs-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.rvs-tagline {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--rv-pink);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.rvs-title {
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--rv-black);
    line-height: 1.1;
    margin: 0 0 2.5rem;
}
@media (min-width: 768px) { .rvs-title { font-size: 3.2rem; } }

/* ── Barra de búsqueda ── */
.rvs-search-wrap {
    position: relative;
    max-width: 580px;
    margin: 0 auto 2rem;
    border-bottom: 2px solid #e5e7eb;
    transition: border-color 0.3s;
}
.rvs-search-wrap:focus-within {
    border-color: var(--rv-pink);
}

.rvs-search-icon {
    position: absolute;
    left: 0.25rem;
    bottom: 0.75rem;
    font-size: 1.35rem;
    color: #d1d5db;
    transition: color 0.3s;
}
.rvs-search-wrap:focus-within .rvs-search-icon {
    color: var(--rv-pink);
}

.rvs-search-input {
    width: 100%;
    border: none;
    background: transparent;
    font-size: clamp(1.2rem, 3vw, 2rem);
    color: var(--rv-black);
    text-align: center;
    padding: 0 2rem 0.65rem 2.5rem;
    outline: none;
    caret-color: var(--rv-pink);
}
.rvs-search-input::placeholder { color: #d1d5db; }

/* ── Pills ── */
.rvs-pills {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.rvs-pill {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    border-radius: 3rem;
    background: white;
    color: #71717a;
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
    border: 1px solid #e5e7eb;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.rvs-pill:hover,
.rvs-pill.active {
    background: var(--rv-black);
    color: #fff;
    border-color: var(--rv-black);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.rvs-pill.rvs-pill-sale {
    color: var(--rv-pink);
    border-color: rgba(233,80,74,0.25);
}
.rvs-pill.rvs-pill-sale:hover,
.rvs-pill.rvs-pill-sale.active {
    background: var(--rv-pink);
    color: white;
    border-color: var(--rv-pink);
}

/* Contador de resultados */
.rvs-count {
    font-size: 0.82rem;
    color: #9ca3af;
    font-style: italic;
    margin: 0;
    min-height: 1.2em;
}

/* ── Cuerpo ── */
.rvs-body {
    padding: 3rem 1.5rem 5rem;
    max-width: 1400px;
    margin: 0 auto;
}
@media (min-width: 1024px) { .rvs-body { padding: 4rem 6% 6rem; } }

/* ── Grid (más columnas que tienda: sin sidebar) ── */
.rvs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    position: relative;
}
@media (min-width: 640px)  { .rvs-grid { gap: 1.5rem; } }
@media (min-width: 900px)  { .rvs-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
@media (min-width: 1200px) { .rvs-grid { grid-template-columns: repeat(4, 1fr); } }

/* ── Tarjeta (misma estructura que tienda) ── */
.rvs-card {
    background: #fff;
    border-radius: 1.5rem;
    border: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.rvs-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.06);
}

/* Imagen */
.rvs-card-img {
    position: relative;
    aspect-ratio: 4/5;
    background: #fafafa;
    overflow: hidden;
    display: block;
}
.rvs-card-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.8s ease;
    display: block;
}
.rvs-card:hover .rvs-card-img img { transform: scale(1.05); }

/* Badge SALE */
.rvs-sale-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--rv-pink);
    color: white;
    padding: 4px 10px;
    border-radius: 30px;
    font-weight: 800;
    font-size: 10px;
    z-index: 10;
    letter-spacing: 0.05em;
}

/* Contenido */
.rvs-card-body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
@media (min-width: 768px) { .rvs-card-body { padding: 1.5rem; } }

.rvs-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    color: var(--rv-black);
    line-height: 1.25;
}
@media (min-width: 768px) { .rvs-card-title { font-size: 1.05rem; } }

.rvs-card-cat {
    font-size: 0.65rem;
    color: #9ca3af;
    margin: 0 0 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Footer de card */
.rvs-card-footer {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid #f9f9f9;
    gap: 0.5rem;
}

.rvs-card-price {
    color: var(--rv-pink);
    font-weight: 800;
    font-size: 1.05rem;
    width: 100%;
}
@media (min-width: 768px) { .rvs-card-price { font-size: 1.15rem; } }

/* Botones de card */
.rvs-card-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.5rem;
}

.rvs-btn-view {
    flex: 1;
    background: #f4f4f5;
    color: var(--rv-black) !important;
    padding: 0.65rem 0.75rem;
    border-radius: 3rem;
    font-size: 0.7rem;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.3s ease;
    letter-spacing: 0.05em;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
}
.rvs-btn-view:hover { background: #e5e7eb; }

.rvs-card .rvs-btn-cart,
.rvs-card .quick-add,
.rvs-card .add_to_cart_button {
    opacity: 1 !important;
    transform: none !important;
    position: static !important;
    flex: 1 !important;
    width: auto !important;
    height: auto !important;
    min-height: 2.5rem !important;
    border-radius: 3rem !important;
    background: var(--rv-pink) !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease, transform 0.3s ease !important;
    text-decoration: none !important;
    padding: 0.65rem 0.75rem !important;
    box-shadow: 0 6px 18px rgba(233,80,74,0.25) !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.rvs-card .rvs-btn-cart:hover,
.rvs-card .quick-add:hover,
.rvs-card .add_to_cart_button:hover {
    background: #d4453f !important;
    transform: translateY(-2px) !important;
}
.rvs-card .add_to_cart_button.loading  { opacity: 0.7 !important; pointer-events: none !important; transform: none !important; }
.rvs-card .add_to_cart_button.added    { background: var(--rv-gold) !important; transform: none !important; }
.rvs-card .add_to_cart_button.rv-btn-error { background: #ef4444 !important; }

@media (max-width: 400px) {
    .rvs-btn-view,
    .rvs-card .rvs-btn-cart,
    .rvs-card .add_to_cart_button { font-size: 0.62rem !important; padding: 0.55rem 0.5rem !important; }
    .rvs-card .add_to_cart_button .ph { display: none !important; }
}

/* ── Paginación ── */
.rvs-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid #f3f4f6;
}

.rvs-pag-btn {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background: white;
    color: var(--rv-black);
    border: 1px solid #e5e7eb;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rvs-pag-btn:hover,
.rvs-pag-btn.active {
    background: var(--rv-black);
    color: white;
    border-color: var(--rv-black);
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}
.rvs-pag-dots {
    color: #71717a;
    font-weight: 800;
    display: flex;
    align-items: center;
    padding: 0 0.2rem;
}

/* ── Loader y Empty ── */
.rvs-loader {
    grid-column: 1 / -1;
    text-align: center;
    padding: 6rem 1rem;
}
.rvs-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid #f3f4f6;
    border-top-color: var(--rv-gold);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 1.5rem;
}
.rvs-empty-state {
    text-align: center;
    padding: 6rem 1rem;
    border-radius: 2rem;
    background: #fafafa;
    border: 2px dashed #eee;
}


/* ==========================================================================
   MÓDULO BLOG ARCHIVE — layout sin Tailwind
   #renovatio-blog-content mejoras v2.0
   ========================================================================== */

/* Contenedor principal */
#renovatio-blog-content .blog-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 4rem 1.5rem 5rem;
}
@media (min-width: 1024px) {
    #renovatio-blog-content .blog-container { padding: 5rem 6% 6rem; }
}

/* Layout sidebar + main */
#renovatio-blog-content .blog-layout {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
@media (min-width: 1024px) {
    #renovatio-blog-content .blog-layout {
        flex-direction: row;
        align-items: flex-start;
        gap: 5rem;
    }
}

/* Sidebar */
#renovatio-blog-content .blog-sidebar {
    width: 100%;
}
@media (min-width: 1024px) {
    #renovatio-blog-content .blog-sidebar {
        width: 240px;
        min-width: 240px;
        flex-shrink: 0;
        position: sticky;
        top: 120px;
    }
}

/* Sección móvil (visible solo en móvil) */
#renovatio-blog-content .blog-mobile-filters { display: block; }
@media (min-width: 1024px) { #renovatio-blog-content .blog-mobile-filters { display: none; } }

/* Sección desktop (visible solo en desktop) */
#renovatio-blog-content .blog-sidebar-desktop { display: none; }
@media (min-width: 1024px) { #renovatio-blog-content .blog-sidebar-desktop { display: block; } }

/* Título del sidebar */
#renovatio-blog-content .blog-sidebar-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--rv-black, #000);
    margin: 0 0 1rem;
}

/* Widget block */
#renovatio-blog-content .blog-widget { margin-bottom: 2.5rem; }

/* Pills móviles */
#renovatio-blog-content .blog-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

#renovatio-blog-content .cat-pill {
    display: inline-block;
    padding: 0.45rem 1rem;
    border-radius: 3rem;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    background: #f3f4f6;
    color: #555;
    border: none;
    transition: all 0.25s;
}
#renovatio-blog-content .cat-pill.active,
#renovatio-blog-content .cat-pill:hover {
    background: var(--rv-pink, #E9504A);
    color: white;
}

/* Links del sidebar desktop (los existentes en la hoja ya tienen estilos,
   aquí forzamos solo el estado active que el JS necesita) */
#renovatio-blog-content .cat-link.active { color: var(--ob-pink, #E9504A); font-weight: 800; }

/* Banner promo */
#renovatio-blog-content .blog-promo-banner {
    padding: 1.5rem;
    border-radius: 1rem;
    text-align: center;
}
#renovatio-blog-content .blog-promo-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--rv-black, #000);
}
#renovatio-blog-content .blog-promo-text {
    font-size: 0.82rem;
    color: #666;
    margin: 0 0 1rem;
    line-height: 1.5;
}
#renovatio-blog-content .blog-promo-link {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ob-pink, #E9504A);
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    text-decoration: none;
    display: inline-block;
    transition: 0.3s;
}
#renovatio-blog-content .blog-promo-link:hover { color: #000; }

/* Main de artículos */
#renovatio-blog-content .blog-main {
    flex: 1;
    min-width: 0; /* evita overflow en flex */
}


/* ==========================================================================
   PÁGINA NOSOTROS — Hero (#renovatio-about-hero)
   ========================================================================== */

html { scroll-behavior: smooth; }

#renovatio-about-hero {
    --ob-accent: #D0A550;
    --ob-pink:   #E9504A;
    font-family: 'Inter', sans-serif;
    color: #000;
    width: 100%;
    position: relative;
    margin: 0; padding: 0;
}
#renovatio-about-hero .font-display { font-family: 'Playfair Display', serif; }
#renovatio-about-hero .font-body    { font-family: 'Lato', sans-serif; }

/* ── Hero fullscreen ── */
.rvn-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #FFF5F5;
    overflow: hidden;
}

/* ── Orbs decorativos ── */
.rvn-orbs-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}
.rvn-orb {
    position: absolute;
    border-radius: 50%;
}
.rvn-orb-1 {
    top: -15%; right: -10%;
    width: 600px; height: 600px;
    background: #FFE4E4;
    filter: blur(150px);
    opacity: 0.6;
}
.rvn-orb-2 {
    bottom: -10%; left: -5%;
    width: 500px; height: 500px;
    background: #FFD1D1;
    filter: blur(120px);
    opacity: 0.4;
}
.rvn-orb-3 {
    top: 40%; left: 30%;
    width: 300px; height: 300px;
    background: #FFEAEA;
    filter: blur(100px);
    opacity: 0.3;
}

/* ── Contenido hero ── */
.rvn-hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 0 1.5rem;
    max-width: 900px;
    opacity: 0; /* GSAP lo revela; fallback CSS lo anima si GSAP falla */
    animation: rvn-hero-fadein 0.6s ease 0.8s forwards;
}
/* Fallback: si GSAP carga, sobreescribe opacity a tiempo. Si no carga, esta animación garantiza visibilidad. */
@keyframes rvn-hero-fadein {
    to { opacity: 1; }
}

/* Badge "Desde 2015" */
.rvn-hero-badge {
    display: inline-block;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(10px);
    color: var(--ob-pink);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 0.45rem 1.25rem;
    border-radius: 30px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    margin-bottom: 1.5rem;
}

/* Línea decorativa dorada */
.rvn-accent-line {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--ob-accent), var(--ob-pink));
    margin: 0 auto 1.5rem;
    border-radius: 2px;
}

/* Título */
.rvn-hero-title {
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 700;
    color: #000;
    line-height: 1.05;
    margin: 0 0 1.5rem;
}
.rvn-hero-accent { color: var(--ob-pink); }

/* Subtítulo */
.rvn-hero-desc {
    color: #6B7280;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 300;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto;
}

/* ── Botón scroll ── */
.rvn-scroll-btn {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    cursor: pointer;
    opacity: 0;
    animation: rvn-hero-fadein 0.4s ease 1.2s forwards; /* fallback si GSAP falla */
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0.75rem 1.25rem;
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
    border-radius: 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.rvn-scroll-btn:hover { transform: translateX(-50%) translateY(-5px); }

.rvn-scroll-text {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #4B5563;
    line-height: 1;
}
.rvn-scroll-icon {
    font-size: 1.15rem;
    color: var(--ob-pink);
    animation: rvn-bounce 1.5s ease-in-out infinite;
}
@keyframes rvn-bounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(5px); }
}


/* ==========================================================================
   PÁGINA NOSOTROS — Contenido (#renovatio-about-content)
   ========================================================================== */

#renovatio-about-content {
    --ob-accent: #D0A550;
    --ob-pink:   #E9504A;
    --luxury-shadow: 0 20px 40px -5px rgba(233,80,74,0.12);
    font-family: 'Inter', sans-serif;
    color: #000;
    background: #fff;
    width: 100%;
    line-height: 1.7;
}
#renovatio-about-content h1,
#renovatio-about-content h2,
#renovatio-about-content h3 { line-height: 1.15; margin-top: 0; }
#renovatio-about-content p  { margin-bottom: 1rem; }
#renovatio-about-content .font-display { font-family: 'Playfair Display', serif; }
#renovatio-about-content .font-body    { font-family: 'Lato', sans-serif; }
#renovatio-about-content .font-index   { font-family: 'Cormorant Garamond', serif; }
#renovatio-about-content ul { list-style: none; padding: 0; margin: 0; }

/* Sombra de entrada */
#renovatio-about-content .content-overlay {
    background: white;
    position: relative;
    z-index: 10;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.08);
}

/* ── Navegación lateral sticky ── */
#renovatio-about-content .story-nav {
    position: sticky;
    top: 120px;
    max-height: calc(100vh - 160px);
    overflow-y: auto;
    padding-right: 1rem;
}
#renovatio-about-content .nav-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ob-accent);
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(208,165,80,0.3);
}
#renovatio-about-content .story-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0;
    font-family: 'Cormorant Garamond', serif;
    color: #888;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
    letter-spacing: 0.02em;
}
#renovatio-about-content .story-link .nav-number {
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    color: #ccc;
    width: 20px;
    transition: all 0.3s ease;
}
#renovatio-about-content .story-link:hover         { color: var(--rv-pink) !important; }
#renovatio-about-content .story-link:hover .nav-number { color: var(--ob-accent); }
#renovatio-about-content .story-link.active        { color: #000; font-weight: 700; }
#renovatio-about-content .story-link.active .nav-number { color: var(--ob-pink); }

/* ── Secciones ── */
#renovatio-about-content .story-section {
    padding: 5rem 0;
    border-bottom: 1px solid #f0f0f0;
    scroll-margin-top: 120px; /* compensa header fijo */
}
#renovatio-about-content .story-section:last-child { border-bottom: none; }

/* Badge de capítulo */
#renovatio-about-content .chapter-badge {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ob-accent);
    background: linear-gradient(135deg, #FFF9E6 0%, #FFF5F5 100%);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    margin-bottom: 1.25rem;
    display: inline-block;
}

/* ── Imágenes ── */
#renovatio-about-content .story-image {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--luxury-shadow);
    transition: transform 0.5s ease-out;
}
#renovatio-about-content .story-image:hover     { transform: translateY(-5px); }
#renovatio-about-content .story-image img       { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
#renovatio-about-content .story-image:hover img { transform: scale(1.05); }

/* ── Quote destacada ── */
#renovatio-about-content .featured-quote {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem;
    font-style: italic;
    color: #000;
    border-left: 3px solid var(--ob-accent);
    padding-left: 1.25rem;
    margin: 1.5rem 0;
}

/* ── Lista de características ── */
#renovatio-about-content .feature-list { margin: 1.5rem 0; }
#renovatio-about-content .feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.5rem 0;
    font-family: 'Lato', sans-serif;
    color: #555;
}
#renovatio-about-content .feature-list li i {
    color: var(--ob-accent);
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

/* ── Card oscura (boutique) ── */
#renovatio-about-content .dark-card {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    border-radius: 2rem;
    overflow: hidden;
}
#renovatio-about-content .dark-card-label {
    display: inline-block;
    color: var(--ob-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
#renovatio-about-content .dark-badge {
    display: inline-block;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.9);
    padding: 0.4rem 1rem;
    border-radius: 30px;
    font-size: 0.75rem;
    font-weight: 500;
}

/* ── Box de info (salud visual) ── */
#renovatio-about-content .story-info-box {
    background: #FFF5F5;
    border-left: 4px solid var(--ob-accent);
    padding: 1rem 1.25rem;
    margin-top: 1rem;
    border-radius: 0 0.5rem 0.5rem 0;
    font-size: 0.9rem;
    color: #374151;
}

/* ── Card de tienda (sección 08) ── */
#renovatio-about-content .story-store-card {
    background: white;
    border-radius: 1.5rem;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    border: 1px solid #f3f4f6;
    overflow: hidden;
}
#renovatio-about-content .store-info-col {
    background: linear-gradient(135deg, #FFF8F8 0%, #FFF5F5 100%);
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#renovatio-about-content .store-subtitle {
    font-size: 0.85rem;
    color: #6B7280;
    margin-bottom: 2rem;
}
#renovatio-about-content .store-details { margin-bottom: 2rem; }
#renovatio-about-content .store-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
#renovatio-about-content .store-icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    color: var(--ob-pink);
    font-size: 1.1rem;
    flex-shrink: 0;
}
#renovatio-about-content .store-detail-title {
    font-weight: 600;
    color: #111;
    font-size: 0.9rem;
    display: block;
}
#renovatio-about-content .store-detail-sub {
    font-size: 0.75rem;
    color: #6B7280;
    display: block;
}
#renovatio-about-content .store-cta {
    display: block;
    text-align: center;
}
#renovatio-about-content .store-img-col {
    position: relative;
    min-height: 400px;
}
#renovatio-about-content .store-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.15), transparent);
    pointer-events: none;
}

/* ── Botón CTA (local — no sobreescribe .btn-renovatio global) ── */
#renovatio-about-content .btn-renovatio {
    display: inline-block;
    background: var(--ob-pink);
    color: white !important;
    padding: 1rem 2rem;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(233,80,74,0.25);
}
#renovatio-about-content .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(233,80,74,0.35);
}

/* ── Responsive tienda card ── */
@media (max-width: 767px) {
    #renovatio-about-content .store-info-col { padding: 2rem 1.5rem; }
    #renovatio-about-content .store-img-col  { min-height: 280px; }
}

/* ==============================================
   MÓDULO STORYTELLING — #renovatio-elementor-wrapper
   ============================================== */
#renovatio-elementor-wrapper {
    --ob-primary: #000000;
    --ob-accent: #D0A550;
    --ob-pink: #E9504A;
    --ob-bg: #ffffff;
    --luxury-shadow: 0 20px 40px -5px rgba(233, 80, 74, 0.15);
    font-family: 'Inter', sans-serif;
    color: var(--ob-primary);
    background-color: var(--ob-bg);
    width: 100%;
    position: relative;
}

#renovatio-elementor-wrapper h1, 
#renovatio-elementor-wrapper h2, 
#renovatio-elementor-wrapper h3 {
    line-height: 1.2;
}

#renovatio-elementor-wrapper .font-display { font-family: 'Playfair Display', serif; }
#renovatio-elementor-wrapper .font-body { font-family: 'Lato', sans-serif; }

#renovatio-elementor-wrapper .scroll-section,
#renovatio-elementor-wrapper .hero-section-snap {
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
    position: relative;
}

#renovatio-elementor-wrapper .btn-renovatio {
    background: var(--ob-pink);
    color: white;
    transition: 0.3s;
    display: inline-block;
    text-decoration: none;
}
#renovatio-elementor-wrapper .btn-renovatio:hover {
    background: #c43e38;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#renovatio-elementor-wrapper .story-nav {
    position: -webkit-sticky;
    position: sticky;
    top: 150px;
    height: fit-content;
    z-index: 50;
    align-self: start;
    padding-bottom: 2rem;
}

#renovatio-elementor-wrapper .story-link {
    display: block;
    padding: 0.75rem 0;
    color: #ccc;
    font-size: 0.85rem;
    font-weight: 400;
    transition: all 0.4s ease;
    position: relative;
    cursor: pointer;
    letter-spacing: 0.05em;
    text-decoration: none;
}

#renovatio-elementor-wrapper .story-link::before {
    content: '';
    position: absolute;
    left: -1.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 1px;
    background: var(--ob-accent);
    transition: width 0.3s;
}

#renovatio-elementor-wrapper .story-link.active {
    color: var(--ob-primary);
    font-weight: 700;
    padding-left: 0.5rem;
    transform: scale(1.05);
}

#renovatio-elementor-wrapper .story-link.active::before {
    width: 1rem;
}

#renovatio-elementor-wrapper .story-image-container {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--luxury-shadow);
    transform: translateY(0);
    transition: transform 0.5s ease-out;
}

#renovatio-elementor-wrapper .story-chapter {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ob-accent);
    margin-bottom: 1rem;
    display: block;
}

#renovatio-elementor-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ==============================================
   MÓDULO ROSTROS QUE NOS PREFIEREN — #renovatio-home-faces
   ============================================== */
#renovatio-home-faces {
    background: #fafafa;
    padding: 5rem 0;
    overflow: hidden;
    width: 100%;
    position: relative;
}
#renovatio-home-faces .faces-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}
#renovatio-home-faces .polaroid-grid {
    display: flex;
    gap: 2rem;
    width: max-content;
    animation: scrollMarquee 35s linear infinite;
    padding: 1.5rem 0 2.5rem 0;
    will-change: transform;
    scroll-snap-type: none;
}
#renovatio-home-faces .polaroid-grid:hover,
#renovatio-home-faces .polaroid-grid:active {
    animation-play-state: paused;
}
#renovatio-home-faces .polaroid-item {
    background: white;
    padding: 1rem 1rem 2.8rem 1rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transform: rotate(var(--rotation, -2deg));
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    cursor: pointer;
    position: relative;
    flex: 0 0 240px;
    border-radius: 4px;
}
#renovatio-home-faces .polaroid-item:nth-child(even) {
    --rotation: 3deg;
    margin-top: 0.75rem;
}
#renovatio-home-faces .polaroid-item:hover {
    transform: rotate(0deg) scale(1.06);
    z-index: 10;
    box-shadow: 0 20px 40px rgba(233, 80, 74, 0.2);
}
#renovatio-home-faces .polaroid-img-wrap {
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #eee;
    margin-bottom: 1.25rem;
    border: 1px solid #f0f0f0;
}
#renovatio-home-faces .polaroid-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: sepia(0.15) contrast(1.05);
    display: block;
}
#renovatio-home-faces .polaroid-text {
    font-family: 'Permanent Marker', cursive, sans-serif;
    text-align: center;
    color: #222;
    font-size: 1.05rem;
    line-height: 1.2;
}
#renovatio-home-faces .polaroid-text small {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #E9504A;
    margin-top: 0.4rem;
    font-weight: 700;
}

@keyframes scrollMarquee {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(calc(-33.333% - 0.66rem), 0, 0); }
}

@media (max-width: 768px) {
    #renovatio-home-faces {
        padding: 3.5rem 0;
    }
    #renovatio-home-faces .polaroid-grid {
        gap: 1.25rem;
        animation-duration: 25s;
    }
    #renovatio-home-faces .polaroid-item {
        flex: 0 0 190px;
        padding: 0.75rem 0.75rem 2.2rem 0.75rem;
    }
    #renovatio-home-faces .polaroid-text {
        font-size: 0.9rem;
    }
}

/* ==========================================================================
   FIXES CHECKOUT ASTRA
   ========================================================================== */
.renovatio-checkout-wrapper .woocommerce-checkout .form-row label { 
    display: block !important; 
    position: static !important; 
    transform: none !important; 
    opacity: 1 !important; 
    padding: 0 0 5px 0 !important; 
    height: auto !important; 
    pointer-events: auto !important; 
    font-size: 0.85rem !important;
}
.renovatio-checkout-wrapper .woocommerce-checkout .form-row input, 
.renovatio-checkout-wrapper .woocommerce-checkout .form-row select, 
.renovatio-checkout-wrapper .woocommerce-checkout .form-row textarea { 
    padding: 12px 16px !important; 
    box-sizing: border-box !important; 
    width: 100% !important; 
    margin-bottom: 0 !important;
}
.renovatio-checkout-wrapper .woocommerce-checkout .form-row .woocommerce-input-wrapper { 
    width: 100% !important; 
    display: block !important; 
}
.select2-container--default .select2-selection--single { 
    height: auto !important; 
    padding: 10px !important; 
}
.renovatio-checkout-wrapper .woocommerce-checkout .form-row {
    margin-bottom: 1.2rem !important;
}


/* ==========================================================================
   SOLUCIÓN DE BLOQUEO DE CLIC POR EL "ORDER SUMMARY" DE ELEMENTOR
   Contexto: en desktop, el order summary carga por AJAX y Elementor
   posiciona su columna/backdrop con fixed o sticky, tapando los campos
   de facturación. En mobile está colapsado y no ocurre.
   ========================================================================== */

/* 1. Eliminar el backdrop — cualquier combinación de prefijo de clase que
   Elementor pueda generar según su versión (e-, elementor-, sin prefijo) */
[class*="checkout"][class*="backdrop"],
[class*="order-summary"][class*="backdrop"],
.e-checkout__order-summary-backdrop,
.elementor-checkout__order-summary-backdrop,
.e-checkout-order-summary-backdrop,
.elementor-checkout-order-summary-backdrop,
.e-order-summary-backdrop,
.elementor-order-summary-backdrop {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: -9999 !important;
    position: static !important;
    inset: auto !important;
}

/* 2. La columna secundaria del checkout (order summary) NO debe tener
   posicionamiento que se extienda sobre la columna de facturación.
   overflow:hidden es la barrera definitiva: nada dentro puede extenderse
   físicamente fuera de sus bounds y capturar clics en el formulario. */
.elementor-widget-woocommerce-checkout .e-checkout__column-secondary,
.elementor-widget-woocommerce-checkout .elementor-checkout__column-secondary,
.elementor-widget-woocommerce-checkout [class*="column-secondary"],
.elementor-widget-woocommerce-checkout [class*="order-summary"] {
    position: relative !important;
    z-index: 1 !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    overflow: hidden !important;  /* CLAVE: recorta todo lo que sangre fuera de la columna */
    pointer-events: auto !important;
}

/* 3. Contenedor específico del resumen — flujo normal + contención */
.elementor-widget-woocommerce-checkout .e-checkout__order-summary,
.elementor-widget-woocommerce-checkout .elementor-checkout__order-summary,
.elementor-widget-woocommerce-checkout .e-checkout__order-summary-container,
.elementor-widget-woocommerce-checkout .elementor-checkout__order-summary-container,
.elementor-widget-woocommerce-checkout .e-checkout__order-summary-content,
.elementor-widget-woocommerce-checkout .elementor-checkout__order-summary-content,
.elementor-widget-woocommerce-checkout [class*="order-summary-container"],
.elementor-widget-woocommerce-checkout [class*="order-summary-content"] {
    position: relative !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important; /* Contiene los hijos dentro de sus bounds */
    z-index: 1 !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    pointer-events: auto !important;
    transform: none !important;
}

/* 4. Columna primaria (formulario) — SIEMPRE clickeable con z-index superior */
.elementor-widget-woocommerce-checkout .e-checkout__column-primary,
.elementor-widget-woocommerce-checkout .elementor-checkout__column-primary,
.elementor-widget-woocommerce-checkout [class*="column-primary"],
.elementor-widget-woocommerce-checkout form.checkout,
.renovatio-checkout-wrapper form.checkout {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 10 !important;
}

/* 5. Todos los campos de input/button dentro del checkout — nunca bloqueados.
   IMPORTANTE: NO aplicar position:relative a labels aquí porque Astra
   usa labels con position:absolute en los métodos de envío para el área
   de clic, y cambiar a relative los saca del flujo normal hacia afuera. */
.elementor-widget-woocommerce-checkout input,
.elementor-widget-woocommerce-checkout select,
.elementor-widget-woocommerce-checkout textarea,
.elementor-widget-woocommerce-checkout button,
.renovatio-checkout-wrapper input,
.renovatio-checkout-wrapper select,
.renovatio-checkout-wrapper textarea,
.renovatio-checkout-wrapper button {
    pointer-events: auto !important;
    position: relative !important;
    z-index: auto !important;
    cursor: auto !important;
}
/* Labels: pointer-events auto pero SIN cambiar position —
   dejar que cada label use su propio posicionamiento natural */
.elementor-widget-woocommerce-checkout label,
.renovatio-checkout-wrapper label {
    pointer-events: auto !important;
    cursor: auto !important;
}
.renovatio-checkout-wrapper button,
.elementor-widget-woocommerce-checkout button {
    cursor: pointer !important;
}

/* 6. Fix: El widget de Elementor en sí mismo no debe crear stacking context problemático */
.elementor-widget-woocommerce-checkout {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important; /* El widget externo sí puede ser visible */
}

/* 6b. SHIPPING METHOD LABELS — CONTENCIÓN CRÍTICA
   Forzar que los labels de los métodos de envío NO se extiendan fuera
   de su contenedor. Astra puede usar position:absolute en estos labels
   para crear áreas de clic; los contenemos con overflow:hidden en el li. */
#shipping_method li,
.woocommerce-shipping-methods li {
    position: relative !important;
    overflow: hidden !important; /* Recorta cualquier label que sangre */
    display: flex !important;
    align-items: center !important;
}
#shipping_method li label,
.woocommerce-shipping-methods li label {
    position: static !important; /* Static: no puede salir de su flujo */
    display: inline-flex !important;
    align-items: center !important;
    flex: 1 !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    cursor: pointer !important;
    z-index: auto !important;
}
#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"] {
    position: static !important; /* Sacar del flujo absoluto/fijo */
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    opacity: 1 !important;
    clip: auto !important;
    clip-path: none !important;
    accent-color: #E9504A !important;
}

/* ==========================================================================
   CAPA DE BLOQUEO AJAX DE WOOCOMMERCE (blockUI / blockOverlay)
   IMPORTANTE: NO usar display:none porque rompe el lifecycle interno de
   jQuery BlockUI. WooCommerce llama a unblock() esperando encontrar el
   overlay en el DOM; si no existe, el estado interno queda como
   "bloqueado" aunque visualmente no se vea nada.
   Solución: dejar que WooCommerce lo controle, solo suavizar la apariencia.
   ========================================================================== */
.woocommerce-checkout .blockOverlay {
    background: rgba(255, 255, 255, 0.75) !important;
    z-index: 50 !important;
    border-radius: 12px !important;
}
/* El blockOverlay en la tabla de revisión es aceptable — no tocar */
/* Solo neutralizar el overlay global que puede aparecer FUERA del form */
.e-checkout__column-secondary .blockOverlay,
.elementor-checkout__column-secondary .blockOverlay,
[class*="column-secondary"] .blockOverlay {
    pointer-events: none !important;
    z-index: 2 !important;
}
/* Spinner de carga de WooCommerce — visible y no bloqueante */
.woocommerce .blockUI.blockOverlay {
    cursor: wait !important;
}

/* ==========================================================================
   RENOVATIO ASTRA OVERRIDES (HEADER, ZERO GAP, FULL WIDTH)
   ========================================================================== */

/* Anular min-height forzado de #page en Astra */
#page,
.admin-bar #page,
body #page,
body.admin-bar #page,
.hfeed.site,
#page.hfeed.site {
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

/* Suprimir Headers residuales de Elementor y Astra */
header.elementor-location-header,
header.elementor-7203,
.elementor-7203,
[data-elementor-type="header"],
header[data-elementor-type="header"],
.site-header,
#masthead,
.ast-main-header-wrap,
.main-header-bar,
.header-spacer,
.page .entry-header,
.page .ast-archive-description,
.archive .entry-header,
.archive .ast-archive-description,
.entry-header,
.ast-single-post .entry-header {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Zero gap y Full Width total */
#content,
.site-content,
#content.site-content,
.ast-container,
.site-content > .ast-container,
#primary,
#main,
.entry-content,
.renovatio-single-product-page,
.ast-separate-container .site-content,
.ast-separate-container .ast-article-single,
.ast-article-single,
.single-product .site-content,
.single-product #content,
.single-product #primary,
.single-product #main,
.single-product .ast-container {
    padding: 0 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    min-height: 0 !important;
}

/* Header v5.0 */
#renovatio-header-module {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 99999 !important;
    box-sizing: border-box;
}

.ob-header {
    position: fixed !important;
    top: var(--wp-admin-bar, 0px);
    left: 0;
    width: 100%;
    height: var(--header-height, 3.5rem);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 99999 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5%;
    transition: all 0.4s ease;
    box-sizing: border-box;
}

.ob-header.scrolled {
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);
}


/* ==========================================================================
   MÓDULOS DE HOME RENOVATIO (PIXEL PERFECT V6.0)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. SECCIÓN VIDEO (#renovatio-home-video)
   -------------------------------------------------------------------------- */
#renovatio-home-video {
    position: relative !important;
    overflow: hidden !important;
    color: white !important;
    text-align: center !important;
    min-height: 80vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#renovatio-home-video .hero-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
}

#renovatio-home-video .hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.55) !important;
    z-index: 1 !important;
}

#renovatio-home-video .brand-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 650px !important;
    padding: 2rem !important;
    margin: 0 auto !important;
}

#renovatio-home-video .btn-white {
    background: white !important;
    color: #000 !important;
    padding: 0.875rem 2rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    transition: 0.3s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    font-size: 0.85rem !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

#renovatio-home-video .btn-white:hover {
    background: #D0A550 !important;
    color: white !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
    #renovatio-home-video {
        min-height: 70vh !important;
    }
    #renovatio-home-video .brand-content {
        padding: 1.5rem !important;
    }
    #renovatio-home-video .brand-content h2 {
        font-size: 1.75rem !important;
    }
    #renovatio-home-video .brand-content p {
        font-size: 0.95rem !important;
        margin-bottom: 1.5rem !important;
    }
    #renovatio-home-video .btn-white {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.8rem !important;
    }
}

/* --------------------------------------------------------------------------
   2. SECCIÓN TESTIMONIOS (#renovatio-home-testimonials)
   -------------------------------------------------------------------------- */
#renovatio-home-testimonials {
    background: #FFF5F5 !important;
    padding: 4rem 5% 3rem !important;
    min-height: auto !important;
    height: auto !important;
}

#renovatio-home-testimonials .testimonial-marquee {
    overflow: hidden !important;
    width: 100% !important;
}

#renovatio-home-testimonials .testimonial-track {
    display: flex !important;
    gap: 1.5rem !important;
    animation: marquee 60s linear infinite !important;
    width: max-content !important;
}

#renovatio-home-testimonials .testimonial-track:hover {
    animation-play-state: paused !important;
}

#renovatio-home-testimonials .testimonial-card {
    background: white !important;
    border-radius: 16px !important;
    padding: 1.5rem !important;
    text-align: left !important;
    box-shadow: 0 15px 25px -5px rgba(0, 0, 0, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 22rem !important;
    max-width: 24rem !important;
    flex-shrink: 0 !important;
    border: 1px solid #f0f0f0 !important;
    box-sizing: border-box !important;
}

#renovatio-home-testimonials .testimonial-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0.75rem !important;
    width: 100% !important;
}

#renovatio-home-testimonials .reviewer-info {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

#renovatio-home-testimonials .reviewer-avatar {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 50% !important;
    color: white !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    font-size: 1.1rem !important;
}

#renovatio-home-testimonials .reviewer-details {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
}

#renovatio-home-testimonials .reviewer-name {
    font-weight: bold !important;
    font-size: 0.95rem !important;
    color: #202124 !important;
}

#renovatio-home-testimonials .review-date {
    font-size: 0.75rem !important;
    color: #70757a !important;
}

/* FIX ICONO GOOGLE ENANO Y PERFECTO */
#renovatio-home-testimonials .google-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

#renovatio-home-testimonials .google-icon svg {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    display: block !important;
}

#renovatio-home-testimonials .testimonial-stars {
    color: #fbbc04 !important;
    font-size: 1.1rem !important;
    margin-bottom: 0.75rem !important;
    display: flex !important;
    gap: 2px !important;
}

#renovatio-home-testimonials p {
    line-height: 1.5 !important;
    font-size: 0.875rem !important;
    color: #4b5563 !important;
    margin: 0 !important;
}

/* ALIANZAS / MARCAS */
#renovatio-home-testimonials .brands-section {
    margin-top: 4rem !important;
    padding-top: 4rem !important;
    padding-bottom: 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

#renovatio-home-testimonials .brands-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 2rem !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

#renovatio-home-testimonials .brand-logo {
    height: 50px !important;
    max-width: 140px !important;
    object-fit: contain !important;
    filter: grayscale(40%) !important;
    opacity: 0.8 !important;
    transition: all 0.3s ease !important;
}

#renovatio-home-testimonials .brand-logo:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.05) !important;
}

#renovatio-home-testimonials .brand-logo-dark-bg {
    background: #1a1a1a !important;
    padding: 0.5rem 1rem !important;
    border-radius: 8px !important;
}

@media (max-width: 768px) {
    #renovatio-home-testimonials {
        padding: 3rem 4% 2rem !important;
    }
    #renovatio-home-testimonials .testimonial-card {
        min-width: 18rem !important;
    }
    #renovatio-home-testimonials .testimonial-track {
        animation-duration: 45s !important;
    }
    #renovatio-home-testimonials .brands-section {
        margin-top: 2rem !important;
        padding-top: 2rem !important;
    }
    #renovatio-home-testimonials .brands-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 1.25rem !important;
        width: 100% !important;
        max-width: 280px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }
    #renovatio-home-testimonials .brands-grid a {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0.75rem 1rem !important;
        background: white !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
    }
    #renovatio-home-testimonials .brands-grid a.brand-logo-dark-bg {
        background: #1a1a1a !important;
    }
    #renovatio-home-testimonials .brand-logo {
        height: 40px !important;
        width: auto !important;
        max-width: 180px !important;
        object-fit: contain !important;
        filter: none !important;
        opacity: 1 !important;
    }
    #renovatio-home-testimonials .brand-logo-dark-bg {
        padding: 0.75rem 1rem !important;
        border-radius: 12px !important;
    }
    #renovatio-home-testimonials .brand-logo-dark-bg .brand-logo {
        filter: none !important;
        opacity: 1 !important;
    }
}

/* --------------------------------------------------------------------------
   3. SECCIÓN INSTAGRAM (#renovatio-home-instagram)
   -------------------------------------------------------------------------- */
#renovatio-home-instagram {
    background: #fafafa !important;
    padding: 4rem 5% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    min-height: auto !important;
    height: auto !important;
}

#renovatio-home-instagram .instagram-container {
    width: 100% !important;
    max-width: 1200px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#renovatio-home-instagram .section-title {
    text-align: center !important;
    margin-bottom: 2rem !important;
}

#renovatio-home-instagram .instagram-shortcode-wrapper {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 16px !important;
}

#renovatio-home-instagram .sb_instagram_header,
#renovatio-home-instagram #sb_instagram .sb_instagram_header,
#renovatio-home-instagram .sbi_follow_btn,
#renovatio-home-instagram .sbi_load_btn {
    display: none !important;
}

#renovatio-home-instagram #sb_instagram #sbi_images {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 1rem !important;
}

#renovatio-home-instagram #sb_instagram .sbi_item {
    width: 100% !important;
    padding: 0 !important;
}

#renovatio-home-instagram #sb_instagram .sbi_item:nth-child(n+7) {
    display: none !important;
}

#renovatio-home-instagram .btn-black {
    background: #000 !important;
    color: white !important;
    padding: 0.875rem 2rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    transition: 0.3s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    font-size: 0.85rem !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
}

#renovatio-home-instagram .btn-black:hover {
    background: #333 !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 1024px) {
    #renovatio-home-instagram #sb_instagram #sbi_images {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    #renovatio-home-instagram {
        padding: 3rem 4% !important;
    }
    #renovatio-home-instagram .section-title h2 {
        font-size: 1.5rem !important;
    }
    #renovatio-home-instagram #sb_instagram #sbi_images {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.5rem !important;
    }
    #renovatio-home-instagram .btn-black {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.8rem !important;
    }
}

@media (max-width: 480px) {
    #renovatio-home-instagram #sb_instagram #sbi_images {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   4. SECCIÓN CTA (#renovatio-home-cta)
   -------------------------------------------------------------------------- */
#renovatio-home-cta {
    background: linear-gradient(135deg, #E9504A 0%, #d63f3a 100%) !important;
    color: white !important;
    text-align: center !important;
    padding: 3.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#renovatio-home-cta .section-inner {
    max-width: 800px !important;
    margin: 0 auto !important;
}

#renovatio-home-cta .cta-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    line-height: 1.2 !important;
    color: white !important;
}

#renovatio-home-cta .cta-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.15rem !important;
    opacity: 1 !important;
    margin-bottom: 2rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    max-width: 540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.6 !important;
}

#renovatio-home-cta .btn-whatsapp-cta {
    background: white !important;
    color: #E9504A !important;
    padding: 1rem 2.5rem !important;
    border-radius: 50px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
    text-decoration: none !important;
}

#renovatio-home-cta .btn-whatsapp-cta:hover {
    background: #D0A550 !important;
    color: white !important;
    transform: translateY(-3px) !important;
}

@media (max-width: 1024px) {
    #renovatio-home-cta .cta-title {
        font-size: 2rem !important;
    }
}

@media (max-width: 768px) {
    #renovatio-home-cta {
        padding: 2.5rem 1.5rem !important;
    }
    #renovatio-home-cta .cta-title {
        font-size: 1.75rem !important;
    }
    #renovatio-home-cta .cta-text {
        font-size: 1rem !important;
        margin-bottom: 1.5rem !important;
    }
}


/* ==========================================================================
   CATÁLOGO / TIENDA / BÚSQUEDA - CENTRADO RESPONSIVO PERFECTO EN MÓVIL
   ========================================================================== */
#rv-search-module,
#rv-shop-module,
.renovatio-shop-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

.rvs-hero {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 6rem 1.5rem 3.5rem !important;
    background: linear-gradient(180deg, #FFF5F5 0%, #FFFFFF 100%) !important;
    position: relative !important;
}

.rvs-hero-inner {
    max-width: 800px !important;
    margin: 0 auto !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.rvs-search-wrap {
    width: 100% !important;
    max-width: 600px !important;
    margin: 1.5rem auto !important;
}

.rvs-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    margin-top: 1rem !important;
    width: 100% !important;
}

.rvs-body {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 2.5rem 1.5rem 5rem !important;
    box-sizing: border-box !important;
}

.rvs-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    justify-content: center !important;
}

@media (min-width: 768px) {
    .rvs-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.5rem !important;
    }
}

@media (min-width: 1100px) {
    .rvs-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1.75rem !important;
    }
}

@media (max-width: 640px) {
    .rvs-hero {
        padding: 4.5rem 1rem 2.5rem !important;
    }
    .rvs-body {
        padding: 1.5rem 0.75rem 4rem !important;
        width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    .rvs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
        width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    .rvs-card {
        border-radius: 1rem !important;
        margin: 0 auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .rvs-card-body {
        padding: 0.75rem !important;
    }
    .rvs-card-title {
        font-size: 0.85rem !important;
    }
    .rvs-card-price {
        font-size: 0.95rem !important;
    }
    .rvs-card-actions {
        gap: 0.35rem !important;
    }
    .rvs-card .rvs-btn-view,
    .rvs-card .rvs-btn-cart {
        padding: 0.5rem 0.25rem !important;
        font-size: 0.65rem !important;
    }
}


/* ==========================================================================
   RESET DE ESTILOS CATALOGO / TIENDA (SIN SUBRAYADOS DE ASTRA)
   ========================================================================== */
#rv-search-module a,
.rvs-pill,
.rvs-pill a,
.rvs-btn-view,
.rvs-btn-cart,
.rvs-card-title a,
.rvs-pag-btn {
    text-decoration: none !important;
    outline: none !important;
}

.rvs-pills .rvs-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.6rem 1.25rem !important;
    border-radius: 50px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    border: 1.5px solid #e5e7eb !important;
    background: #ffffff !important;
    color: #374151 !important;
    user-select: none !important;
    white-space: nowrap !important;
}

.rvs-pills .rvs-pill:hover {
    border-color: #111827 !important;
    color: #111827 !important;
    transform: translateY(-1px) !important;
}

.rvs-pills .rvs-pill.active {
    background: #111827 !important;
    color: #ffffff !important;
    border-color: #111827 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.rvs-pills .rvs-pill.rvs-pill-sale {
    border-color: #fca5a5 !important;
    color: #E9504A !important;
}

.rvs-pills .rvs-pill.rvs-pill-sale.active {
    background: #E9504A !important;
    border-color: #E9504A !important;
    color: #ffffff !important;
}

.rvs-card .rvs-card-title {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    margin: 0.25rem 0 0.5rem 0 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
}

.rvs-card .rvs-card-price {
    font-weight: 700 !important;
    color: #E9504A !important;
    font-size: 1.1rem !important;
}

.rvs-card .rvs-btn-view {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border-radius: 50px !important;
    padding: 0.6rem 1rem !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.05em !important;
    transition: 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rvs-card .rvs-btn-view:hover {
    background: #e5e7eb !important;
    color: #111827 !important;
}

.rvs-card .rvs-btn-cart {
    background: #E9504A !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 0.6rem 1.25rem !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.05em !important;
    transition: 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
}

.rvs-card .rvs-btn-cart:hover {
    background: #c43e38 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(233, 80, 74, 0.3) !important;
}


/* ==========================================================================
   ESTÉTICA LUXURY HOMOGÉNEA DE CATÁLOGO / TIENDA / BÚSQUEDA
   ========================================================================== */
.rvs-hero {
    background: #FFF5F5 !important;
    padding: 6.5rem 1.5rem 3.5rem !important;
    text-align: center !important;
}

.rvs-tagline {
    color: #E9504A !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    margin-bottom: 0.75rem !important;
    display: inline-block !important;
}

.rvs-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 1.5rem 0 !important;
    line-height: 1.2 !important;
}

.rvs-search-wrap {
    position: relative !important;
    max-width: 580px !important;
    margin: 0 auto 1.5rem !important;
    width: 100% !important;
}

.rvs-search-icon {
    position: absolute !important;
    left: 1.25rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #9ca3af !important;
    font-size: 1.25rem !important;
    pointer-events: none !important;
}

.rvs-search-input {
    width: 100% !important;
    padding: 1.1rem 1.25rem 1.1rem 3.25rem !important;
    font-size: 0.95rem !important;
    font-family: 'Inter', sans-serif !important;
    background: #ffffff !important;
    border: 2px solid #f3f4f6 !important;
    border-radius: 50px !important;
    outline: none !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    color: #111827 !important;
}

.rvs-search-input:focus {
    border-color: #E9504A !important;
    box-shadow: 0 15px 30px -5px rgba(233, 80, 74, 0.15) !important;
}

.rvs-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    margin-bottom: 1.5rem !important;
}

.rvs-pills .rvs-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.65rem 1.4rem !important;
    border-radius: 50px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    border: 1.5px solid #e5e7eb !important;
    background: #ffffff !important;
    color: #374151 !important;
    user-select: none !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.rvs-pills .rvs-pill:hover {
    border-color: #111827 !important;
    color: #111827 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08) !important;
}

.rvs-pills .rvs-pill.active {
    background: #111827 !important;
    color: #ffffff !important;
    border-color: #111827 !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

.rvs-pills .rvs-pill.rvs-pill-sale {
    border-color: #fca5a5 !important;
    color: #E9504A !important;
}

.rvs-pills .rvs-pill.rvs-pill-sale.active {
    background: #E9504A !important;
    border-color: #E9504A !important;
    color: #ffffff !important;
}

.rvs-count {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

/* Grilla centrada con tarjetas redondeadas */
.rvs-body {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 3rem 1.5rem 5rem !important;
    box-sizing: border-box !important;
}

.rvs-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    justify-content: center !important;
    margin: 0 auto !important;
    width: 100% !important;
}

@media (min-width: 768px) {
    .rvs-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.75rem !important;
    }
}

@media (min-width: 1100px) {
    .rvs-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2rem !important;
    }
}

.rvs-card {
    background: #ffffff !important;
    border-radius: 1.25rem !important;
    border: 1px solid #f3f4f6 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.rvs-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 35px -5px rgba(0, 0, 0, 0.1) !important;
}

.rvs-card-img {
    position: relative !important;
    background: #fafafa !important;
    padding: 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 180px !important;
}

.rvs-card-img img {
    max-height: 140px !important;
    width: auto !important;
    object-fit: contain !important;
    transition: transform 0.4s ease !important;
}

.rvs-card:hover .rvs-card-img img {
    transform: scale(1.08) !important;
}

.rvs-card-body {
    padding: 1.25rem !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.rvs-card-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 0.4rem 0 !important;
    line-height: 1.3 !important;
}

.rvs-card-cat {
    font-size: 0.75rem !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 0.75rem 0 !important;
}

.rvs-card-footer {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    padding-top: 0.75rem !important;
    border-top: 1px solid #f3f4f6 !important;
}

.rvs-card-price {
    font-weight: 700 !important;
    color: #E9504A !important;
    font-size: 1.15rem !important;
}

.rvs-card-actions {
    display: flex !important;
    gap: 0.4rem !important;
}

.rvs-btn-view {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border-radius: 50px !important;
    padding: 0.55rem 0.9rem !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: 0.2s ease !important;
}

.rvs-btn-view:hover {
    background: #e5e7eb !important;
    color: #111827 !important;
}

.rvs-btn-cart {
    background: #E9504A !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 0.55rem 1.1rem !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    transition: 0.2s ease !important;
}

.rvs-btn-cart:hover {
    background: #c43e38 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(233, 80, 74, 0.3) !important;
}

@media (max-width: 640px) {
    .rvs-hero {
        padding: 4.5rem 1rem 2rem !important;
    }
    .rvs-title {
        font-size: 1.75rem !important;
    }
    .rvs-search-input {
        padding: 0.85rem 1rem 0.85rem 2.75rem !important;
        font-size: 0.85rem !important;
    }
    .rvs-search-icon {
        left: 1rem !important;
        font-size: 1rem !important;
    }
    .rvs-pills .rvs-pill {
        padding: 0.5rem 0.9rem !important;
        font-size: 0.75rem !important;
    }
    .rvs-body {
        padding: 1.5rem 0.75rem 4rem !important;
    }
    .rvs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }
    .rvs-card-img {
        padding: 0.75rem !important;
        min-height: 120px !important;
    }
    .rvs-card-img img {
        max-height: 90px !important;
    }
    .rvs-card-body {
        padding: 0.75rem !important;
    }
    .rvs-card-title {
        font-size: 0.82rem !important;
    }
    .rvs-card-price {
        font-size: 0.95rem !important;
    }
    .rvs-card-footer {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
    .rvs-card-actions {
        width: 100% !important;
    }
    .rvs-btn-view,
    .rvs-btn-cart {
        flex: 1 !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 0.5rem 0.25rem !important;
        font-size: 0.65rem !important;
    }
}


/* ==========================================================================
   PANEL DE BÚSQUEDA DESPLEGABLE (Z-INDEX Y OFFSET DE ADMIN BAR)
   ========================================================================== */
.ob-search-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

.ob-search-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.ob-search-panel {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    z-index: 999999 !important;
    transform: translateY(-100%) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important;
    box-sizing: border-box !important;
}

.ob-search-panel.active {
    transform: translateY(0) !important;
}

/* Offset cuando el usuario administrador está logueado */
.admin-bar .ob-search-panel {
    top: 32px !important;
}

@media (max-width: 782px) {
    .admin-bar .ob-search-panel {
        top: 46px !important;
    }
}

.ob-search-container {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 2.5rem 1.5rem !important;
    box-sizing: border-box !important;
}

.ob-search-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 1.5rem !important;
}

.ob-search-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
}

.ob-search-close {
    background: none !important;
    border: none !important;
    font-size: 1.75rem !important;
    cursor: pointer !important;
    color: #9ca3af !important;
    padding: 0.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease !important;
}

.ob-search-close:hover {
    color: #E9504A !important;
}

.ob-search-form {
    display: flex !important;
    gap: 0.75rem !important;
}

.ob-search-input-wrap {
    flex: 1 !important;
    position: relative !important;
}

.ob-search-icon {
    position: absolute !important;
    left: 1.25rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #9ca3af !important;
    font-size: 1.2rem !important;
    pointer-events: none !important;
}

.ob-search-input {
    width: 100% !important;
    padding: 1.1rem 1.25rem 1.1rem 3.25rem !important;
    font-size: 1rem !important;
    font-family: 'Inter', sans-serif !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 50px !important;
    outline: none !important;
    transition: 0.3s !important;
    box-sizing: border-box !important;
}

.ob-search-input:focus {
    border-color: #E9504A !important;
    box-shadow: 0 0 0 4px rgba(233, 80, 74, 0.12) !important;
}

.ob-search-submit {
    background: #E9504A !important;
    color: white !important;
    border: none !important;
    padding: 1.1rem 1.75rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: 0.3s !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
}

.ob-search-submit:hover {
    background: #c43e38 !important;
}


/* ==========================================================================
   FIXES V2.2.1: CERO DOBLE SCROLLBAR & PANEL BÚSQUEDA OCULTO
   ========================================================================== */
html {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100% !important;
}

body {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
}

#page, .site, .hfeed, #content, .site-content, #primary, #main {
    overflow-x: visible !important;
    overflow-y: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* PANEL DE BÚSQUEDA: Completamente invisible e inalcanzable cuando está cerrado */
.ob-search-panel {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    z-index: 1000005 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-150%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important;
    box-sizing: border-box !important;
}

.ob-search-panel.active {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.admin-bar .ob-search-panel.active {
    top: 32px !important;
}

@media (max-width: 782px) {
    .admin-bar .ob-search-panel.active {
        top: 46px !important;
    }
}


/* ==========================================================================
   CHECKOUT HERO Y CONTENEDOR PRINCIPAL
   ========================================================================== */
#renovatio-checkout-hero {
    background: #FFF5F5 !important;
    padding: 6.5rem 1.5rem 3.5rem !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.checkout-hero-section {
    max-width: 800px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 2 !important;
}

.checkout-hero-tag {
    color: #E9504A !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 0.75rem !important;
}

.checkout-hero-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 1rem 0 !important;
}

.checkout-hero-desc {
    color: #6b7280 !important;
    font-size: 1rem !important;
    margin: 0 auto !important;
}

.renovatio-checkout-wrapper {
    background: #ffffff !important;
    width: 100% !important;
    padding: 2.5rem 1rem 5rem !important;
    box-sizing: border-box !important;
}

.renovatio-checkout-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   TABLA DE PEDIDO: FIX TOTAL DE TEXTOS VERTICALES (MONET, VINTAGE PIEDRA...)
   ========================================================================== */
.woocommerce-checkout-review-order-table,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table,
table.shop_table.woocommerce-checkout-review-order-table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 1.5rem !important;
}

.woocommerce-checkout-review-order-table thead,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table thead {
    display: table-header-group !important;
}

.woocommerce-checkout-review-order-table thead th,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table thead th {
    background: #FFF5F5 !important;
    color: #111827 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    text-transform: none !important;
    display: table-cell !important;
}

.woocommerce-checkout-review-order-table tbody,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody {
    display: table-row-group !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: table-row !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

.woocommerce-checkout-review-order-table tbody td,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody td {
    display: table-cell !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
    font-size: 0.9rem !important;
}

.woocommerce-checkout-review-order-table td.product-name,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table td.product-name {
    width: 65% !important;
    min-width: 180px !important;
    max-width: none !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table td.product-name img,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table td.product-name img {
    max-width: 55px !important;
    max-height: 45px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 10px !important;
}

.woocommerce-checkout-review-order-table td.product-total,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table td.product-total {
    width: 35% !important;
    text-align: right !important;
    font-weight: 700 !important;
    color: #E9504A !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
}

.woocommerce-checkout-review-order-table tfoot,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tfoot {
    display: table-footer-group !important;
}

.woocommerce-checkout-review-order-table tfoot tr,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tfoot tr {
    display: table-row !important;
    border-top: 1px solid #f3f4f6 !important;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tfoot th,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tfoot td {
    display: table-cell !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 600 !important;
    color: #374151 !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

.woocommerce-checkout-review-order-table tr.order-total td strong {
    color: #E9504A !important;
    font-size: 1.25rem !important;
}

/* ==========================================================================
   CAMPOS DE FACTURACIÓN: OCULTAR SELECT NATIVO DUPLICADO DE SELECT2
   ========================================================================== */
select.select2-hidden-accessible {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.select2-container--default .select2-selection--single {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1f2937 !important;
    font-size: 0.95rem !important;
    line-height: 46px !important;
    padding-left: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 12px !important;
}

.woocommerce-billing-fields .form-row {
    margin-bottom: 1.25rem !important;
}

.woocommerce-billing-fields label {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #4b5563 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin-bottom: 0.4rem !important;
    display: block !important;
}

.woocommerce-billing-fields input.input-text,
.woocommerce-billing-fields select {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    height: 48px !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.95rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-billing-fields input.input-text:focus {
    border-color: #E9504A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(233, 80, 74, 0.1) !important;
}


/* ==========================================================================
   ASTRA MODERN CHECKOUT - REGLAS PIXEL PERFECT (V2.3.1)
   ========================================================================== */

/* TABLA "TU PEDIDO" */
.renovatio-checkout-wrapper #order_review table.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table {
    table-layout: auto !important;
    width: 100% !important;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-name {
    display: table-cell !important;
    width: 65% !important;
    padding: 16px 20px !important;
    vertical-align: middle !important;
}

.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image,
.ast-modern-checkout .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
}

.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-thumbnail,
.ast-modern-checkout .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-thumbnail {
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
}

.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-thumbnail img,
.ast-modern-checkout .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}

.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-name,
.ast-modern-checkout .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-name {
    display: inline-block !important;
    width: auto !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    word-break: normal !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-total,
.renovatio-checkout-wrapper .woocommerce-checkout-review-order-table tbody tr td.product-total {
    display: table-cell !important;
    width: 35% !important;
    text-align: right !important;
    white-space: nowrap !important;
    padding: 16px 20px !important;
    vertical-align: middle !important;
    font-weight: 700 !important;
    color: #E9504A !important;
}

/* OCULTAR EL SELECT NATIVO DUPLICADO DE SELECT2 */
.renovatio-checkout-wrapper select.select2-hidden-accessible,
select.select2-hidden-accessible {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    border: 0 !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

/* DISEÑO LIMPIO A 2 COLUMNAS (FLEX GRID) PARA CAMPOS DE FACTURACIÓN */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
    margin-bottom: 0 !important;
    float: none !important;
    clear: none !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-billing-fields__field-wrapper .ast-column-50,
.woocommerce-billing-fields__field-wrapper #billing_first_name_field,
.woocommerce-billing-fields__field-wrapper #billing_last_name_field,
.woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_city_field,
.woocommerce-billing-fields__field-wrapper #billing_state_field,
.woocommerce-shipping-fields__field-wrapper .form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row-last,
.woocommerce-shipping-fields__field-wrapper .ast-column-50,
.woocommerce-shipping-fields__field-wrapper #shipping_first_name_field,
.woocommerce-shipping-fields__field-wrapper #shipping_last_name_field,
.woocommerce-shipping-fields__field-wrapper #shipping_address_1_field,
.woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
.woocommerce-shipping-fields__field-wrapper #shipping_city_field,
.woocommerce-shipping-fields__field-wrapper #shipping_state_field {
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    flex: 0 0 calc(50% - 8px) !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-billing-fields__field-wrapper #billing_phone_field,
.woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper #shipping_country_field {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* ENCABEZADO "INFORMACIÓN DEL CLIENTE" LIMPIO SIN DUPLICADOS NI PSEUDOELEMENTOS */
.ast-checkout-form-heading h3,
.woocommerce-billing-fields h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 1.25rem 0 !important;
    display: block !important;
}

.ast-checkout-form-heading h3::before,
.ast-checkout-form-heading h3::after,
.woocommerce-billing-fields h3::before,
.woocommerce-billing-fields h3::after {
    display: none !important;
    content: none !important;
}

/* Ocultar el segundo encabezado si ambos se renderizan en el DOM */
.ast-checkout-form-heading + .woocommerce-billing-fields > h3,
.ast-checkout-form-heading ~ .woocommerce-billing-fields > h3,
.woocommerce-billing-fields .woocommerce-billing-fields__heading {
    display: none !important;
}

/* OCULTAR AVISOS DE COINCIDENCIA DE ZONAS DE ENVÍO DE WOOCOMMERCE */
.woocommerce-NoticeGroup-checkout .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message,
.woocommerce-info {
    display: none !important;
}


/* ==========================================================================
   CHECKOUT V2.3.2: OCULTAR SEGUNDO CUPÓN & ESTILAR POLÍTICAS & PAYMENT
   ========================================================================== */
/* Ocultar el segundo bloque de cupón bajo las notas de pedido */
#ast-checkout-coupon,
.ast-checkout-form .ast-coupon-wrapper,
.ast-coupon-wrapper,
.ast-coupon-block,
.woocommerce-checkout #ast-coupon-trigger,
.woocommerce-checkout .ast-coupon-label {
    display: none !important;
}

/* Ocultar encabezados redundantes de payment en la izquierda */
.col2-set + #ast-payment_options_heading,
.woocommerce-billing-fields + #ast-payment_options_heading {
    display: none !important;
}

/* Casilla de Políticas destacada y con enlaces */
.renovatio-politicas-wrapper {
    margin: 18px 0 20px 0 !important;
    padding: 14px 16px !important;
    background: #FFF5F5 !important;
    border: 1.5px solid #fed7d7 !important;
    border-radius: 10px !important;
}

.renovatio-politicas-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 0.88rem !important;
    color: #1f2937 !important;
    line-height: 1.45 !important;
    cursor: pointer !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

.renovatio-politicas-label input[type="checkbox"] {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #E9504A !important;
    cursor: pointer !important;
}

.renovatio-politicas-label a {
    color: #E9504A !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    transition: color 0.15s ease !important;
}

.renovatio-politicas-label a:hover {
    color: #c43e38 !important;
}

.renovatio-politicas-label .required {
    color: #ef4444 !important;
    text-decoration: none !important;
}

/* Estilo del Método de Pago (Webpay Plus) en la columna derecha */
#payment,
.woocommerce-checkout-payment {
    background: #ffffff !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid #f3f4f6 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
    list-style: none !important;
    padding-left: 0 !important;
}

#payment .place-order {
    margin-top: 16px !important;
    padding: 0 !important;
}

#payment #place_order {
    background: #E9504A !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    width: 100% !important;
    padding: 1.1rem 2rem !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 25px -5px rgba(233, 80, 74, 0.4) !important;
}

#payment #place_order:hover {
    background: #c43e38 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 30px -5px rgba(233, 80, 74, 0.5) !important;
}


/* ==========================================================================
   CHECKOUT V2.3.3: CASILLA ÚNICA UNIFICADA & CORREO ELECTRÓNICO
   ========================================================================== */

/* Campo Correo Electrónico Siempre Visible */
#billing_email_field,
.woocommerce-billing-fields #billing_email_field {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 1.25rem !important;
}

/* Casilla Única Unificada de Términos y Políticas */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    margin: 20px 0 !important;
    padding: 16px 18px !important;
    background: #FFF5F5 !important;
    border: 1.5px solid #fed7d7 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
.woocommerce-checkout-payment .woocommerce-form__label-for-checkbox {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    color: #1f2937 !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.woocommerce-checkout-payment input[type="checkbox"] {
    margin-top: 3px !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #E9504A !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-terms-and-conditions-wrapper label span,
.woocommerce-terms-and-conditions-wrapper .checkbox {
    display: inline !important;
    text-align: left !important;
    color: #1f2937 !important;
    font-size: 0.88rem !important;
}

.woocommerce-terms-and-conditions-wrapper a {
    color: #E9504A !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    transition: color 0.15s ease !important;
}

.woocommerce-terms-and-conditions-wrapper a:hover {
    color: #c43e38 !important;
}

.woocommerce-terms-and-conditions-wrapper .required {
    color: #ef4444 !important;
    text-decoration: none !important;
}

/* Botón Pagar con Webpay */
#payment #place_order,
.woocommerce-checkout #place_order {
    background: #E9504A !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    width: 100% !important;
    padding: 1.15rem 2rem !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 25px -5px rgba(233, 80, 74, 0.4) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
}

#payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: #c43e38 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 30px -5px rgba(233, 80, 74, 0.5) !important;
}


/* ==========================================================================
   CHECKOUT MÓVIL: RESUMEN SIEMPRE ABIERTO Y ORDEN DE FLUJO PERFECTO (V2.3.4)
   ========================================================================== */

/* 1. Ocultar la barra superior plegable de Astra en móviles */
.ast-mobile-order-review-wrap,
#ast-order-review-toggle,
.ast-order-review-toggle-button-wrap,
.ast-order-review-toggle-text {
    display: none !important;
}

/* 2. Forzar a que el Resumen del Pedido esté SIEMPRE abierto, visible y sin colapsar */
#ast-order-review-wrapper,
.ast-modern-checkout #order_review,
.woocommerce-checkout-review-order,
#order_review {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

#order_review_heading {
    display: block !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 1.5rem 0 1rem 0 !important;
}

/* 3. Estructura Responsive: En Móvil (debajo de datos del cliente) */
@media (max-width: 1023px) {
    .renovatio-checkout-wrapper form.checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }
    
    /* 1º: Datos del Cliente y Facturación */
    .renovatio-checkout-wrapper form.checkout .col2-set,
    .renovatio-checkout-wrapper form.checkout #customer_details {
        order: 1 !important;
        width: 100% !important;
    }
    
    /* 2º: Tu Pedido (Resumen completo siempre abierto) */
    .renovatio-checkout-wrapper form.checkout #ast-order-review-wrapper,
    .renovatio-checkout-wrapper form.checkout #order_review {
        order: 2 !important;
        width: 100% !important;
        margin-top: 1.5rem !important;
    }
    
    /* 3º: Método de Pago (Webpay + Casilla de Políticas + Botón Pagar) */
    .renovatio-checkout-wrapper form.checkout #payment,
    .renovatio-checkout-wrapper form.checkout .woocommerce-checkout-payment {
        order: 3 !important;
        width: 100% !important;
    }
}


/* ==========================================================================
   CHECKOUT V2.3.6: WEBPAY CENTRADO, CHECKBOX GRID & HEADER UNIFICADO
   ========================================================================== */

/* 1. Tarjeta de Webpay Plus Limpia y Centrada */
.wc_payment_method,
.payment_method_webpay_plus,
.payment_method_webpay,
#payment ul.payment_methods li.wc_payment_method {
    background: #ffffff !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

#payment ul.payment_methods li.wc_payment_method label,
.wc_payment_method label {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    width: 100% !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    color: #111827 !important;
    margin: 0 !important;
}

#payment ul.payment_methods li.wc_payment_method label img,
.wc_payment_method label img {
    max-width: 140px !important;
    width: auto !important;
    height: auto !important;
    max-height: 35px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 4px auto 0 !important;
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
    display: none !important; /* Ocultar radio button innecesario si Webpay es la única pasarela */
}

/* 2. Casilla de Políticas: Grid Indestructible (Checkbox Izquierda, Texto Derecha) */
.woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    margin: 20px 0 !important;
    padding: 16px 18px !important;
    background: #FFF5F5 !important;
    border: 1.5px solid #fed7d7 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.woocommerce-terms-and-conditions-wrapper label,
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
#payment .woocommerce-terms-and-conditions-wrapper label {
    display: grid !important;
    grid-template-columns: 22px 1fr !important;
    align-items: start !important;
    gap: 12px !important;
    text-align: left !important;
    margin: 0 !important;
    width: 100% !important;
    cursor: pointer !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
#payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.woocommerce-checkout-payment input[type="checkbox"] {
    grid-column: 1 !important;
    margin-top: 3px !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #E9504A !important;
    cursor: pointer !important;
    display: block !important;
}

.woocommerce-terms-and-conditions-wrapper span,
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
    grid-column: 2 !important;
    display: block !important;
    text-align: left !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    color: #1f2937 !important;
}

/* 3. Encabezado de Tabla Tu Pedido Unificado */
table.shop_table.woocommerce-checkout-review-order-table thead tr {
    background: #FFF5F5 !important;
}

table.shop_table.woocommerce-checkout-review-order-table thead th {
    background: transparent !important;
    padding: 14px 18px !important;
    border: none !important;
    border-bottom: 1px solid #fed7d7 !important;
}

table.shop_table.woocommerce-checkout-review-order-table thead th.product-name {
    text-align: left !important;
}

table.shop_table.woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right !important;
}


/* ==========================================================================
   HEADER & MENÚ MÓVIL: CERO GAP SUPERIOR EN MÓVIL Y ESCRITORIO (V2.3.7)
   ========================================================================== */
.ob-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3.5rem !important;
    z-index: 99999 !important;
    margin: 0 !important;
}

.admin-bar .ob-header {
    top: 32px !important;
}

@media (max-width: 782px) {
    .ob-header {
        top: 0 !important;
    }
    .admin-bar .ob-header {
        top: 46px !important;
    }
}

.ob-mobile-menu {
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: 85% !important;
    max-width: 320px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #ffffff !important;
    z-index: 100003 !important;
    transition: right 0.35s ease !important;
    padding: 2rem 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
}

.ob-mobile-menu.active {
    right: 0 !important;
}

.admin-bar .ob-mobile-menu {
    top: 32px !important;
    height: calc(100vh - 32px) !important;
}

@media (max-width: 782px) {
    .admin-bar .ob-mobile-menu {
        top: 46px !important;
        height: calc(100vh - 46px) !important;
    }
}

/* ==========================================================================
   CHECKOUT RENOVATIO V2.5.6: ARQUITECTURA NATIVA FULL-WIDTH
   ========================================================================== */

/* 1. Banners de Información */
.renovatio-info-banner {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: #FFFDF5 !important;
    border: 1.5px solid #F3E8CB !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
}

.renovatio-info-banner.pink {
    background: #FFF5F5 !important;
    border-color: #FED7D7 !important;
}

.renovatio-info-banner .banner-icon {
    font-size: 1.75rem !important;
    flex-shrink: 0 !important;
}

.renovatio-info-banner .banner-content {
    flex: 1 !important;
}

.renovatio-info-banner .banner-content h4 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 2px 0 !important;
}

.renovatio-info-banner .banner-content p {
    font-size: 0.85rem !important;
    color: #4b5563 !important;
    margin: 0 !important;
}

.renovatio-whatsapp-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #25D366 !important;
    color: #ffffff !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.renovatio-link-pink {
    color: #E9504A !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

.renovatio-trust-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 32px !important;
    padding: 14px !important;
    background: #f9fafb !important;
    border-radius: 10px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
}

/* 2. Layout Principal de 2 Columnas */
.renovatio-checkout-wrapper form.checkout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    width: 100% !important;
    align-items: flex-start !important;
}

.renovatio-checkout-wrapper #customer_details,
.renovatio-checkout-wrapper .col2-set {
    flex: 1 1 55% !important;
    min-width: 320px !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

.renovatio-checkout-wrapper #order_review,
.renovatio-checkout-wrapper #ast-order-review-wrapper {
    flex: 1 1 38% !important;
    min-width: 320px !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    background: transparent !important;
}

@media (max-width: 900px) {
    .renovatio-checkout-wrapper form.checkout {
        flex-direction: column !important;
        gap: 24px !important;
    }
    .renovatio-checkout-wrapper #customer_details,
    .renovatio-checkout-wrapper .col2-set,
    .renovatio-checkout-wrapper #order_review,
    .renovatio-checkout-wrapper #ast-order-review-wrapper {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* 3. Encabezados de Sección */
.renovatio-checkout-wrapper h3,
.renovatio-checkout-wrapper #order_review_heading,
.ast-payment-option-heading h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 1.25rem 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    display: block !important;
    border: none !important;
}

/* 4. Tarjetas de Contenedor */
.woocommerce-billing-fields,
.woocommerce-additional-fields,
.ast-checkout-form,
#order_review {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
}

/* 5. Campos de Formulario */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px 12px !important;
    width: 100% !important;
}

.woocommerce-billing-fields .form-row,
.renovatio-checkout-wrapper form.checkout .form-row {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
}

.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last,
.renovatio-checkout-wrapper form.checkout .form-row-first,
.renovatio-checkout-wrapper form.checkout .form-row-last,
.renovatio-checkout-wrapper form.checkout .ast-column-50 {
    width: calc(50% - 6px) !important;
}

.woocommerce-billing-fields .form-row-wide,
.renovatio-checkout-wrapper form.checkout .form-row-wide,
#billing_email_field {
    width: 100% !important;
}

@media (max-width: 640px) {
    .woocommerce-billing-fields .form-row-first,
    .woocommerce-billing-fields .form-row-last,
    .renovatio-checkout-wrapper form.checkout .form-row-first,
    .renovatio-checkout-wrapper form.checkout .form-row-last,
    .renovatio-checkout-wrapper form.checkout .ast-column-50 {
        width: 100% !important;
    }
}

.renovatio-checkout-wrapper form.checkout .form-row label,
.renovatio-checkout-wrapper .woocommerce-billing-fields label,
.renovatio-checkout-wrapper .woocommerce-additional-fields label {
    display: block !important;
    position: static !important;
    text-align: left !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
}

.renovatio-checkout-wrapper form.checkout input.input-text,
.renovatio-checkout-wrapper form.checkout select,
.renovatio-checkout-wrapper form.checkout textarea,
.renovatio-checkout-wrapper form.checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 48px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    padding: 0 14px !important;
    font-size: 0.95rem !important;
    color: #1f2937 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.renovatio-checkout-wrapper form.checkout textarea {
    height: 100px !important;
    padding: 12px 14px !important;
}

.renovatio-checkout-wrapper form.checkout input.input-text:focus,
.renovatio-checkout-wrapper form.checkout select:focus,
.renovatio-checkout-wrapper form.checkout textarea:focus {
    border-color: #E9504A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(233, 80, 74, 0.1) !important;
}

/* ==========================================================================
   6. TABLA "TU PEDIDO": ESTRUCTURA BLOCK NATIVA & SELECTORES FULL-WIDTH
   ========================================================================== */
.woocommerce-checkout-review-order-table,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table,
#order_review table.woocommerce-checkout-review-order-table,
table.shop_table.woocommerce-checkout-review-order-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 1.5rem 0 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    overflow: hidden !important;
    border-collapse: separate !important;
}

/* THEAD */
.woocommerce-checkout-review-order-table thead,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table thead {
    display: block !important;
    width: 100% !important;
    background: #FFF5F5 !important;
    border-bottom: 1px solid #fee2e2 !important;
}

.woocommerce-checkout-review-order-table thead tr,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table thead tr {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
}

.woocommerce-checkout-review-order-table thead th,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table thead th {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #111827 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.woocommerce-checkout-review-order-table thead th.product-name,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table thead th.product-name {
    flex: 1 1 auto !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table thead th.product-total,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table thead th.product-total {
    flex: 0 0 auto !important;
    text-align: right !important;
}

/* TBODY */
.woocommerce-checkout-review-order-table tbody,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tbody {
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    gap: 12px !important;
}

.woocommerce-checkout-review-order-table tbody td,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tbody td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-checkout-review-order-table td.product-name,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-name {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    line-height: 1.4 !important;
    min-width: 0 !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table td.product-name .ast-product-image,
.woocommerce-checkout-review-order-table td.product-name .ast-product-thumbnail,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-name .ast-product-image,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-name .ast-product-thumbnail {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
}

.woocommerce-checkout-review-order-table td.product-name img,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-name img {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f9fafb !important;
    padding: 2px !important;
    display: block !important;
}

.woocommerce-checkout-review-order-table td.product-name .ast-product-name,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-name .ast-product-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.woocommerce-checkout-review-order-table td.product-total,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table td.product-total {
    flex: 0 0 auto !important;
    text-align: right !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    white-space: nowrap !important;
}

/* TFOOT */
.woocommerce-checkout-review-order-table tfoot,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot {
    display: block !important;
    width: 100% !important;
}

/* Subtotal */
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    border-top: 1px solid #f3f4f6 !important;
    background: #ffffff !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #D0A550 !important;
}

/* FILA DE ENVÍO FULL-WIDTH */
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
.woocommerce-checkout-review-order-table tfoot tr.shipping,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.shipping {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 18px !important;
    border-top: 1px solid #f3f4f6 !important;
    background: #ffffff !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tfoot tr.shipping th,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.shipping th {
    display: block !important;
    width: 100% !important;
    padding: 0 0 12px 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tfoot tr.shipping td,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.shipping td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* LISTA DE MÉTODOS DE ENVÍO (FULL-WIDTH Y ANTI-TRASLAPE) */

/* 1. Supresión definitiva de pseudo-elementos (círculos falsos de Astra) */
ul#shipping_method li label::before,
ul#shipping_method li label::after,
.woocommerce-shipping-methods li label::before,
.woocommerce-shipping-methods li label::after,
#shipping_method li label::before,
#shipping_method li label::after,
.woocommerce-checkout-review-order-table ul#shipping_method li label::before,
.woocommerce-checkout-review-order-table ul#shipping_method li label::after,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li label::before,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li label::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* 2. Contenedor de la Lista */
.woocommerce-checkout-review-order-table ul#shipping_method,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method,
ul#shipping_method,
.woocommerce-shipping-methods,
#shipping_method {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

/* 3. Tarjeta Individual */
.woocommerce-checkout-review-order-table ul#shipping_method li,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li,
ul#shipping_method li,
.woocommerce-shipping-methods li,
#shipping_method li {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    background: #fafafa !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    min-height: 56px !important;
    margin: 0 !important;
    text-align: left !important;
    position: relative !important;
    overflow: visible !important;
}

.woocommerce-checkout-review-order-table ul#shipping_method li:hover,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li:hover,
ul#shipping_method li:hover,
.woocommerce-shipping-methods li:hover,
#shipping_method li:hover {
    background: #f9fafb !important;
    border-color: #d1d5db !important;
}

.woocommerce-checkout-review-order-table ul#shipping_method li:has(input:checked),
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li:has(input:checked),
ul#shipping_method li:has(input:checked),
.woocommerce-shipping-methods li:has(input:checked),
ul#shipping_method li.is-selected,
.woocommerce-shipping-methods li.is-selected,
#shipping_method li.is-selected {
    border-color: #E9504A !important;
    background: #FFF5F5 !important;
    box-shadow: 0 2px 10px rgba(233, 80, 74, 0.12) !important;
}

/* 4. Radio Button Nativo */
.woocommerce-checkout-review-order-table ul#shipping_method li input[type="radio"],
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li input[type="radio"],
ul#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"],
#shipping_method li input[type="radio"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #E9504A !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

/* 5. Label de Texto */
.woocommerce-checkout-review-order-table ul#shipping_method li label,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li label,
ul#shipping_method li label,
.woocommerce-shipping-methods label,
#shipping_method li label {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 14px !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #1f2937 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    position: static !important;
    float: none !important;
    transform: none !important;
}

/* 6. Precio Dorado */
.woocommerce-checkout-review-order-table ul#shipping_method li label .amount,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table ul#shipping_method li label .amount,
ul#shipping_method li label .amount,
.woocommerce-shipping-methods label .amount,
ul#shipping_method li label .woocommerce-Price-amount,
.woocommerce-shipping-methods label .woocommerce-Price-amount,
#shipping_method li label .amount {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    color: #D0A550 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* TOTAL FINAL */
.woocommerce-checkout-review-order-table tfoot tr.order-total,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.order-total {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 18px !important;
    border-top: 2px solid #f3f4f6 !important;
    background: #ffffff !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount,
.renovatio-checkout-wrapper table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #D0A550 !important;
}

.woocommerce-terms-and-conditions-wrapper a {
    color: #E9504A !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Supresión de Asterisco Huérfano en Términos */
.woocommerce-terms-and-conditions-wrapper abbr.required,
.woocommerce-terms-and-conditions-wrapper span.required,
.woocommerce-terms-and-conditions-wrapper .required,
.woocommerce-privacy-policy-text abbr.required,
.woocommerce-privacy-policy-text .required,
label[for="terms"] abbr.required,
label[for="terms"] span.required,
label[for="terms"] .required,
.woocommerce-form__label-for-checkbox abbr.required,
.woocommerce-form__label-for-checkbox span.required,
.woocommerce-form__label-for-checkbox .required,
.woocommerce-checkout-payment abbr.required,
#payment abbr.required {
    display: none !important;
    visibility: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox span.woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox span {
    flex: 1 1 auto !important;
}

/* ==========================================================================
   PÁGINA 404 NOT FOUND — .renovatio-404-container
   ========================================================================== */
.renovatio-404-container {
    background: linear-gradient(135deg, #E9504A 0%, #d63f3a 100%);
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
}

.renovatio-404-container .bg-blur-circle {
    position: absolute;
    width: 600px;
    height: 600px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    filter: blur(80px);
    z-index: 0;
    pointer-events: none;
}

.renovatio-404-container .renovatio-content {
    z-index: 10;
    max-width: 600px;
    margin: 0 auto;
}

.renovatio-404-container .error-code {
    font-family: 'Playfair Display', serif;
    font-size: 8rem;
    line-height: 1;
    font-weight: 700;
    margin: 0;
    color: rgba(255, 255, 255, 0.2);
    animation: focusIn 2s ease-in-out infinite alternate;
}

@keyframes focusIn {
    0% { filter: blur(4px); opacity: 0.6; }
    100% { filter: blur(0px); opacity: 1; }
}

.renovatio-404-container .error-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 700;
    margin: 1rem 0;
    color: white;
}

.renovatio-404-container .error-text {
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 300;
}

.renovatio-404-container .renovatio-btn-home {
    background: white;
    color: #E9504A !important;
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.renovatio-404-container .renovatio-btn-home:hover {
    background: #D0A550;
    color: white !important;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

.renovatio-404-container .glasses-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
    color: white;
    display: inline-block;
}

@media (max-width: 768px) {
    .renovatio-404-container .error-code {
        font-size: 5rem;
    }
    .renovatio-404-container .error-title {
        font-size: 1.8rem;
    }
}


